Parsen von CSV-Daten in Python
Python bietet integrierte Unterstützung für die Arbeit mit CSV-Daten über das csv
-Modul. Dieses Modul bietet eine einfache und effiziente Möglichkeit, CSV-Dateien zu lesen, zu schreiben und zu manipulieren.
Lesen von CSV-Daten
Um eine CSV-Datei in Python zu lesen, können Sie die csv.reader()
-Funktion verwenden. Diese Funktion nimmt ein iterierbares Objekt (z. B. ein Dateiobjekt) entgegen und gibt ein Reader-Objekt zurück, das verwendet werden kann, um über die Zeilen in der CSV-Datei zu iterieren.
import csv
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
Die csv.reader()
-Funktion unterstützt auch verschiedene Optionen, wie das Angeben des Trennzeichens, das Behandeln von Kopfzeilen und das Umgang mit in Anführungszeichen gesetzten Werten.
Schreiben von CSV-Daten
Um Daten in eine CSV-Datei zu schreiben, können Sie die csv.writer()
-Funktion verwenden. Diese Funktion nimmt ein iterierbares Objekt (z. B. ein Dateiobjekt) entgegen und gibt ein Writer-Objekt zurück, das verwendet werden kann, um Zeilen in die CSV-Datei zu schreiben.
import csv
data = [['Name', 'Age', 'City'],
['John Doe', 35, 'New York'],
['Jane Smith', 28, 'Los Angeles'],
['Bob Johnson', 42, 'Chicago']]
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
Die csv.writer()
-Funktion unterstützt auch verschiedene Optionen, wie das Angeben des Trennzeichens, das Behandeln von Kopfzeilen und das Formatieren der Daten.
Umgang mit CSV-Dialekten
Das csv
-Modul in Python bietet auch Unterstützung für den Umgang mit verschiedenen "Dialekten" des CSV-Formats. Ein Dialekt ist eine Reihe von Parametern, die die Struktur der CSV-Datei definieren, wie das Trennzeichen, das Zitierungsverhalten und das Zeilenende.
Sie können benutzerdefinierte Dialekte mit der csv.register_dialect()
-Funktion definieren und dann mit den csv.reader()
- und csv.writer()
-Funktionen verwenden.
import csv
## Register a custom dialect
csv.register_dialect('custom', delimiter=';', quotechar='"', quoting=csv.QUOTE_MINIMAL)
with open('data.csv', 'r') as file:
reader = csv.reader(file, dialect='custom')
for row in reader:
print(row)
Indem Sie die Funktionen des csv
-Moduls in Python verstehen, können Sie CSV-Daten effektiv in Ihren Anwendungen parsen und verarbeiten.