CSV-Dateien schreiben
Beispiel
import csv
with open("punkte.csv", "w", encoding="utf-8", newline="") as f:
writer = csv.writer(f)
writer.writerow(["name", "punkte"])
writer.writerow(["Luna", 12])
writer.writerow(["Lily", 15])
print("Gespeichert.")
newline="" ist unter Windows wichtig, damit keine Leerzeilen entstehen.
DictWriter
import csv
rows = [
{"name": "Luna", "punkte": 12},
{"name": "Lily", "punkte": 15},
]
with open("punkte.csv", "w", encoding="utf-8", newline="") as f:
writer = csv.DictWriter(f, fieldnames=["name", "punkte"])
writer.writeheader()
writer.writerows(rows)
Rate mal!
Was macht writeheader?
Auflösung
Schreibt die Spaltennamen in die erste Zeile.
Probiere es selbst
Experiment 1
writerow Kopf + 2 Zeilen.
Experiment 2
Datei im Editor prüfen.
Experiment 3
DictWriter mit 3 Spalten.
Fehlerdetektiv
Ohne newline="" unter Windows: oft Leerzeilen – Flag setzen.
Übungen
Level 1
CSV mit 2 Spalten.
Level 2
3 Datenzeilen.
Level 3
Aus Liste von Dicts speichern.
Level-1-Lösung
import csv
with open("a.csv", "w", encoding="utf-8", newline="") as f:
w = csv.writer(f)
w.writerow(["tier", "alter"])
w.writerow(["Fuchs", 3])
Mini-Quiz
Schreiben sitzt! Als Nächstes: lesen.