Das Arbeiten mit CSV-Dateien (Comma-Separated Values) ist in der Programmierung eine häufige Aufgabe, die sich in vielen praktischen Anwendungen zeigt. Ob Du Daten von APIs abrufst oder Lagerbestände verwaltest — die Möglichkeit, CSV-Dateien zu lesen und zu schreiben, ist unverzichtbar. In dieser Anleitung lernst Du, wie Du mit Python effektiv CSV-Dateien verarbeiten kannst. Wir werden uns die Erstellung von CSV-Dateien, das Lesen von Daten sowie die Manipulation dieser Daten anschauen.
Wichtigste Erkenntnisse
- Modulübersicht: Python bietet ein integriertes CSV-Modul, welches CSV-Reader und Writer bereitstellt.
- Datenstruktur: Du kannst sowohl Listen als auch Dictionaries verwenden, um Daten zu speichern und zu verarbeiten.
- Effizientes E/A-Handling: Nutze with open(...) zur Handhabung von Dateizugriff, um sich um das Schließen der Dateien keine Gedanken machen zu müssen.
Schritt-für-Schritt-Anleitung
Verzeichnis anlegen und CSV-Datei erstellen
Zu Beginn legst Du ein leeres Verzeichnis an. In diesem Verzeichnis solltest Du eine Datei mit dem Namen csvdateien.py erstellen. Diese Datei wird Dein Hauptskript für die Arbeit mit CSV-Dateien sein.

Innerhalb deiner Python-Datei kannst Du die CSV-Datei anlegen, indem Du den Namen produkte.csv verwendest. In dieser Datei wirst Du die Spalten mit den Headern Produkt ID, Name, Preis und Lagerbestand definieren.

Die CSV-Datei könnte beispielsweise so aussehen:
Produkt ID,Name,Preis,Lagerbestand 1,iPad,399,50 2,Nerfgun,29.99,100
CSV-Datei lesen
Um Daten aus der produkte.csv-Datei zu lesen, benötigst Du das CSV-Modul. Das Modul ermöglicht es Dir, CSV-Daten effizient zu verarbeiten. Du kannst die Daten in ein lesbares Format umwandeln, indem Du with open(...) verwendest. Das vermeidet das manuelle Schließen von Dateiobjekten und macht Deinen Code sauberer und sicherer.
Im nächsten Schritt erstellst Du einen CSV-Reader. Damit kannst Du die Datei Zeile für Zeile durchlaufen und die Daten extrahieren:
with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Hierbei wird jede Zeile als Liste ausgelesen, was zeigt, dass die Daten wie erwartet strukturiert sind. Jede Zeile entspricht einem Produkt und enthält Informationen zu ID, Name, Preis und Lagerbestand.
Nutzung von Dictionaries für intuitivere Datenverarbeitung
Um die Daten simpler und intuitiver zu handeln, solltest Du das Dictionary-Format verwenden. Mit einem Dictionary-Reader kannst Du den Zugriff auf Deine Daten durch die Feldnamen erleichtern.

Hier benötigst Du ebenfalls with open(...), um die Datei zu öffnen und den CSV-Reader zu erstellen. Stelle sicher, dass Du eine Liste der Felder angibst, die Du auslesen möchtest:

Jetzt kannst Du einfach auf die Felder über die Namen zugreifen. Das macht Deine Verarbeitung um ein Vielfaches zugänglicher.
CSV-Datei schreiben
Um eigene Daten in eine CSV-Datei zu schreiben, kannst Du ein Dictionary-Writer-Objekt verwenden. Du hast die Möglichkeit, eine Liste von Dictionaries anzulegen, die Deine Daten repräsentieren.

Hier ist ein einfaches Beispiel, wie Du eine Liste mit Superhelden als CSV-Datei speichern kannst:
with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Name', 'Alias'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

Die Datei superhelden.csv wird nun erstellt und enthält die Daten der Superhelden in einem gut strukturierten, lesbaren Format.
Abschluss und praktische Anwendung
CSV-Dateien sind ein wertvolles Werkzeug für den Datenaustausch, das in der Praxis oftmals benötigt wird. Diese Anleitung gibt Dir die Grundlagen zur Verarbeitung von CSV-Dateien mit Python an die Hand. Du hast gelernt, wie Du Daten aus CSV-Dateien ausliest, diese in Python verarbeitet und eigene Daten in das CSV-Format schreibst.
Zusammenfassung – Verarbeitung von CSV-Dateien mit Python
CSV-Dateien sind ein wichtiges Format für den Datenaustausch in vielen Anwendungen. Mit Python kannst Du effizient und einfach mit diesen Dateien arbeiten. Hast Du die Grundlagen erstmal verstanden, kannst Du diese Techniken leicht auf komplexe Datenanwendungen anwenden.
Häufig gestellte Fragen
Wie eröffne ich eine CSV-Datei in Python?Du kannst eine CSV-Datei in Python mit with open('dateiname.csv', 'r'): öffnen.
Wie kann ich Daten in eine CSV-Datei schreiben?Dazu verwendest Du das csv.writer oder csv.DictWriter-Objekt, um die Daten zu formatieren und in die Datei zu schreiben.
Was ist der Unterschied zwischen csv.reader und csv.DictReader?Der csv.reader liest die Daten als Listen, während csv.DictReader die Daten als Dictionaries mit Feldnamen als Schlüsseln ausgibt.
Wie kann ich den Header in einer CSV-Datei festlegen?Der Header kann mit writeheader() beim Schreiben einer CSV-Datei über den Writer angegeben werden.
Wie lese ich eine CSV-Datei mit benutzerdefinierten Feldnamen?Übergebe eine Liste der gewünschten Feldnamen beim Erstellen eines csv.DictReader.