0Pricing
Python Academy · Lektion

CSV mit csv.DictWriter schreiben

Schreiben Sie strukturierte Daten mit DictReader und DictWriter in CSV-Dateien.

CSV mit csv.DictWriter schreiben ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Einführung

csv.writer und csv.DictWriter schreiben Python-Daten im CSV-Format und verarbeiten Anführungszeichen und Trennzeichen automatisch.

Grundlagen von csv.writer

csv.writer(f).writerow(row) schreibt eine einzelne Zeile. writerows(rows) schreibt mehrere Zeilen.
import csv, io
buf = io.StringIO()
writer = csv.writer(buf)
writer.writerow(['name', 'age'])
writer.writerow(['Alice', 30])
print(buf.getvalue())

Verhalten bei Anführungszeichen

Standardmäßig werden Felder mit Kommas oder Anführungszeichen automatisch in Anführungszeichen gesetzt. quoting=csv.QUOTE_ALL setzt jedes Feld in Anführungszeichen.
import csv, io
buf = io.StringIO()
writer = csv.writer(buf, quoting=csv.QUOTE_ALL)
writer.writerow(['Alice', 'NYC, NY', 30])
print(buf.getvalue())

csv.DictWriter

DictWriter schreibt Dictionaries als Zeilen. Geben Sie fieldnames an. writeheader() schreibt die Spaltenüberschriften.
import csv, io
buf = io.StringIO()
fields = ['name', 'age']
writer = csv.DictWriter(buf, fieldnames=fields)
writer.writeheader()
writer.writerow({'name': 'Alice', 'age': 30})
print(buf.getvalue())

writerows() für mehrere Zeilen

writer.writerows(list_of_rows) ist effizienter, als writerow() in einer Schleife aufzurufen.
import csv, io
buf = io.StringIO()
writer = csv.DictWriter(buf, fieldnames=['x','y'])
writer.writeheader()
writer.writerows([{'x':1,'y':2},{'x':3,'y':4}])
print(buf.getvalue())

Benutzerdefiniertes Trennzeichen

csv.writer(f, delimiter='\t') schreibt tabulatorgetrennte Werte (TSV).
import csv, io
buf = io.StringIO()
writer = csv.writer(buf, delimiter='\t')
writer.writerow(['a', 'b', 'c'])
print(repr(buf.getvalue()))

Der Parameter extrasaction

DictWriter(f, fieldnames, extrasaction='ignore') ignoriert zusätzliche Schlüssel im Dictionary stillschweigend, anstatt ValueError auszulösen.
import csv, io
buf = io.StringIO()
w = csv.DictWriter(buf, fieldnames=['name'], extrasaction='ignore')
w.writeheader()
w.writerow({'name': 'Alice', 'extra': 'ignored'})
print(buf.getvalue())

In eine tatsächliche Datei schreiben

with open('out.csv','w',newline='',encoding='utf-8') as f: — verwenden Sie immer newline='' und geben Sie die Kodierung an.
import csv, tempfile, os
tmp = tempfile.mktemp(suffix='.csv')
with open(tmp, 'w', newline='') as f:
    csv.writer(f).writerows([[1,2],[3,4]])
print(open(tmp).read())
os.unlink(tmp)

An eine CSV-Datei anhängen

open(file, 'a') hängt Daten an. Achten Sie darauf, beim Anhängen nicht erneut die Kopfzeile zu schreiben.
import csv, io
buf = io.StringIO()
w = csv.writer(buf)
w.writerow(['x', 'y'])
print(buf.getvalue())

Große Schreibvorgänge streamen

Schreiben Sie Zeile für Zeile — sammeln Sie nicht vor dem Schreiben alle Zeilen im Speicher.
import csv, io
buf = io.StringIO()
writer = csv.writer(buf)
for i in range(5):
    writer.writerow([i, i**2])
print(buf.getvalue())

Roundtrip-Test

Schreiben Sie Daten in eine CSV-Datei und lesen Sie sie anschließend wieder ein, um die Korrektheit zu überprüfen.
import csv, io
original = [{'name':'Alice','age':'30'},{'name':'Bob','age':'25'}]
buf = io.StringIO()
w = csv.DictWriter(buf, fieldnames=['name','age'])
w.writeheader()
w.writerows(original)
buf.seek(0)
read_back = list(csv.DictReader(buf))
print(read_back == original)

Kurztest

Welche DictWriter-Methode schreibt die Spaltennamen als erste Zeile?

Zusammenfassung

csv.writer: writerow/writerows. DictWriter: writeheader plus writerow/writerows. Öffnen Sie Dateien immer mit newline=''. Verwenden Sie extrasaction='ignore' für flexible Dictionaries.

Weiter geht's

Bleiben Sie dran! Fahren Sie mit der nächsten Lektion fort.

Häufig gestellte Fragen

Ist die Lektion „CSV mit csv.DictWriter schreiben“ kostenlos?

Ja — der vollständige Text von „CSV mit csv.DictWriter schreiben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „CSV mit csv.DictWriter schreiben“?

Schreiben Sie strukturierte Daten mit DictReader und DictWriter in CSV-Dateien. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „CSV mit csv.DictWriter schreiben“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. JSON-Kodierung und -Dekodierung
  2. Verschachtelte JSON-Strukturen verarbeiten
  3. CSV mit csv.reader lesen
  4. CSV mit csv.DictWriter schreiben
← Zurück zu Python Academy