Ich versuche, csv mit xlsxwriter zu ersetzen (Ich brauche eine Art Feature für einige Zeilen in dem Dokument), so versuche ich, diese Logik in xlsxwriter neu zu implementieren:Wie schreibe ich Daten mit xlsxwriter iterativ ohne genaue Zeile: Spaltenkoordinate?
with open('text.csv', 'wb') as file_csv:
fieldnames = ["Date", "Advertiser", "Offer", "Affiliate", "Affiliate Source", "Impressions", "Clicks", "Cost click", "Conversions", "Cost", "Revenue", "Profit", "Real profit"]
writer = csv.DictWriter(file_csv, delimiter=",", fieldnames=fieldnames)
writer.writeheader()
for d in data:
real_profit = str(float(d['Stat']['profit']) - (int(d['Stat']['clicks']) * 0.0004))
writer.writerow({"Date": d['Stat']['date'], "Advertiser": d['Advertiser']['company'], "Offer": d['Offer']['name'], "Affiliate": d['Affiliate']['company'], "Affiliate Source": d['Stat']['source'], "Impressions": d['Stat']['impressions'], "Clicks": d['Stat']['clicks'], "Cost click": str(int(d['Stat']['clicks']) * 0.0004), "Conversions": d['Stat']['conversions'], "Cost": d['Stat']['payout'], "Revenue": d['Stat']['revenue'], "Profit": d['Stat']['profit'], "Real profit": real_profit})
totals = response['data']['totals']['Stat']
writer.writerow({"Date": "Totals", "Impressions": totals['impressions'], "Clicks": totals['clicks'], "Conversions": totals['conversions'], "Cost": totals['payout'], "Revenue": totals['revenue'], "Profit": totals['profit']})
Wie es implementieren xlsxwriter mit iterativ in for-Schleife mit dem Schreiben der gesamten Zeile am Ende?
Sollte ich die Feldnamen zweiten Mal an die writerow Methode übergeben in Reihe zu schreiben? – paus
Nein, das sollten Sie nicht tun, da der 'fieldname' bereits im' writer' Objekt gespeichert ist. – gdlmx
Aber was bedeutet d Variable? Wird es während der Objekterstellung irgendwie initialisiert oder nicht? – paus