Python bietet mächtige Funktionen um CSV-Dateien effektiv zu bearbeiten. Die entsprechende CSV Bibliothek wird gleich mitgeliefert.
CSV-Dateien in Python lesen und schreiben funktioniert elegant über DictReader
und DictWriter
. Beispiele dazu hier:
Python: Lesen einer CSV-Datei
DictReader() liefert ein Dictionary mit den CSV-Spaltennamen als Keys und den Inhalten der aktuellen Zeile als Values:
1 2 3 4 5 6 7 8 |
import csv with open('beispiel.csv', 'r') as file: reader = csv.DictReader(file) for row in reader: # Hier kannst du auf die Daten in jeder Zeile zugreifen print(row['Name'], row['Alter'], row['Stadt']) |
Python: Schreiben einer CSV-Datei
DictWriter schreibt zuerst einen definierten CSV-Header und dann in einem Rutsch alle Datensätze:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import csv fieldnames = ['Name', 'Alter', 'Stadt'] data = [ {'Name': 'John', 'Alter': '25', 'Stadt': 'New York'}, {'Name': 'Alice', 'Alter': '30', 'Stadt': 'London'}, {'Name': 'Bob', 'Alter': '35', 'Stadt': 'Berlin'} ] with open('beispiel.csv', 'w', newline='') as file: writer = csv.DictWriter(file, fieldnames=fieldnames) writer.writeheader() writer.writerows(data) |
Verschiedene CSV-Datei Formate mit Python lesen und schreiben
Mehr zu DictReader und DictWriter findet ihr hier. Interessant sind insbesondere die Parameter um z.B. Trennzeichen für Felder (delimiter), Trennzeichen für Strings (quoting), Zeichenkodierung (encoding) und vieles mehr zu konfigurieren.
So können z.B. auch Unix-Passwort-Dateien gelesen werden, indem einfach die betreffenden Parameter angepasst werden:
1 2 3 4 |
import csv csv.register_dialect('unixpwd', delimiter=':', quoting=csv.QUOTE_NONE) with open('passwd', newline='') as f: reader = csv.reader(f, 'unixpwd') |