Ich DictWriter in Python 3 zur Ausgabe von dem Zustand eines Objekts in eine Textdatei, etwa so: inin Python zu jeder Zeile Text hinzufügen Info dictWriter
def to_csv(self):
with open('filename', 'w') as myfile:
fieldnames = ['a1', 'a2', 'a3', 'a4', 'a5']
wr = csv.DictWriter(myfile, fieldnames=fieldnames)
wr.writeheader()
for idx, row in enumerate(self.tasks):
wr.writerow(row)
ich jedoch eine zusätzliche Spalte hinzufügen mag die Ausgabe. Hier ist, was ich versuche zu bekommen:
wr.writerow(row + 'task number:'+idx)
Jeder Pythonic Weg, dies zu tun? Ich denke, ich könnte eine Zeichenfolge mit jeder Zeile vorbereiten, fügen Sie die Task-Nummer an diese Zeichenfolge & dann übergeben Sie diese an den Writerow (mit einem normalen Schreiber anstelle von DictWriter), aber ich möchte nicht mit String & verwenden Sie den DictWriter direkt wenn möglich ...
Warum würde 'wr.writerow (row + {'Aufgabennummer': idx})' nicht funktionieren? Fügen Sie es einfach der Liste der Feldnamen hinzu und Sie sind golden. – cwallenpoole
Aber ich möchte dem Wörterbuch selbst kein Feld hinzufügen, wenn du das meinst? Weil es einfach nicht akzeptiert wird, sie innerhalb von Writerow zu verketten - es gibt keinen + Operator definiert ... selbst wenn Sie eine Diktatzeile mit einer Diktatzeile verketten –