Ich würde gerne eine Liste von Objekten als CSV lesen und schreiben. Wie macht man das in Python am besten? Alles Suchen im Netz und im Forum hat leider nicht geholfen.
Folgenden Beispielcode habe ich bis jetzt:
Code: Alles auswählen
import csv
import sys
class Test:
def __init__(self, a, b):
self.a = a
self.b = b
def __repr__(self):
return f"Test({self.a}, {self.b})"
# Das hier klappt
x1 = Test(1, 2)
x2 = Test(5, 6)
tests = (x1, x2)
print(tests)
# Das hier leider nicht
csv_writer = csv.writer(sys.stdout)
csv_writer.writerows(tests) # Hier kracht es
1, 2
5, 6
Leider bekomme ich stattdessen die Fehlermeldung "_csv.Error: iterable expected, not Test". Etwas kryptisch, aber im Nachhinein verständlich, dass es kracht.
Wie kann man CSV Dateien am besten in Python lesen und schreiben?