Python CSV: Tabellen lesen und schreiben
Erfahren Sie, wie Sie CSV-Daten in Python verarbeiten. Master csv.reader, csv.writer und DictReader/DictWriter für effizientes Tabellenparsen.
Übersicht
CSV (Comma-Separated Values) ist ein allgegenwärtiges Format zum Exportieren und Importieren von Daten aus Tabellenkalkulationen und relationalen Datenbanken. Da es sich bei CSV-Dateien um einfache Textdateien handelt, werden sie allgemein von Analysetools, Datenbankplattformen und Programmiersprachen unterstützt. Python verfügt über ein integriertes „CSV“-Modul, das speziell für das Parsen, Schreiben und Bearbeiten von Tabellendaten optimiert ist, ohne dass Bibliotheken von Drittanbietern wie Pandas erforderlich sind.
Das CSV-Modul bietet zwei Hauptschnittstellen: listenbasierte Lese-/Schreibprogramme und wörterbuchbasierte Lese-/Schreibprogramme. „csv.reader()“ und „csv.writer()“ stellen jede Zeile in der CSV als Liste von Zeichenfolgen dar. Dies ist einfach, erfordert jedoch die Referenzierung von Spalten anhand ihres numerischen Index. Für einen robusteren Ansatz verwenden Entwickler „csv.DictReader()“ und „csv.DictWriter()“. Diese Klassen ordnen jede Zeile einem Wörterbuch zu, indem sie die CSV-Kopfzeile als Schlüssel verwenden, und erzeugen so gut lesbaren Code, der nicht beschädigt wird, wenn die Spalten neu angeordnet werden.
Beim Umgang mit CSV-Dateien kommt es auf die Syntaxdetails an. Verschiedene Programme verwenden unterschiedliche Trennzeichen (wie Tabulatoren oder Semikolons) und behandeln Anführungszeichen oder Zeilenenden auf unterschiedliche Weise. Mit dem „csv“-Modul können Sie über einen „dialect“-Parameter benutzerdefinierte Trennzeichen, Anführungszeichenregeln und Escape-Zeichen definieren. Darüber hinaus ist es beim Öffnen von CSV-Dateien in Python eine wichtige Anforderung, „newline=“ an die Funktion „open()“ zu übergeben, um Leerzeilenprobleme auf verschiedenen Betriebssystemen zu vermeiden.
Code- und Ausführungsausgabe
Mit DictWriter Daten in eine CSV-Datei schreiben und mit DictReader zurücklesen.
import csv
filename = "employees.csv"
fieldnames = ["id", "name", "department"]
data = [
{"id": "101", "name": "Bob", "department": "HR"},
{"id": "102", "name": "Alice", "department": "Engineering"}
]
# Write dict data to CSV
with open(filename, "w", newline="") as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
print("CSV written successfully.\n--- Reading CSV ---")
# Read CSV data back as dictionaries
with open(filename, "r", newline="") as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(f"Employee {row['name']} works in {row['department']}.")CSV written successfully.
--- Reading CSV ---
Employee Bob works in HR.
Employee Alice works in Engineering.Schrittweise Umsetzung
- Exportieren von Tabellendatensätzen für die Finanzanalyse
- Importieren von Kontaktlistenkatalogen in Datenbanken
- Formatieren statistischer Ausgaben aus Rechenskripten
Häufig gestellte Fragen
Warum muss ich beim Öffnen einer CSV-Datei newline="" angeben?
Dies wird vom internen Writer des CSV-Moduls benötigt, um zu verhindern, dass zusätzliche Leerzeilen eingefügt werden, insbesondere auf Windows-Plattformen.
Wie kann ich eine CSV-Datei analysieren, die Tabulatoren statt Kommas verwendet?
Sie können den Trennzeichenparameter an den Leser oder Schreiber übergeben, z. B. csv.reader(file, delimiter='\t').
Verwandte Themen
Erfahren Sie, wie Sie Dateien in Python lesen und schreiben. Beherrschen Sie open(), read(), write() und Kontextmanager, um Dateivorgänge sicher und ohne Ressourcenverluste abzuwickeln.
Python-JSON-ParsingErfahren Sie, wie Sie JSON-Daten in Python lesen, schreiben und analysieren. Beherrschen Sie json.loads, json.dumps und passen Sie JSON-Encoder/Decoder an.
Empfohlene Python-Ressourcen
Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.
So lesen und analysieren Sie eine CSV-Datei in Python
Erfahren Sie, wie Sie CSV-Dateien in Python mithilfe des integrierten CSV-Moduls lesen und analysieren. Meistern Sie das Lesen als Listen, Wörterbuch-Reader und benutzerdefinierte Trennzeichen.
Spickzettel für Python-String-Methoden
Ein vollständiges Referenzhandbuch für die Python-String-Manipulation. Meistern Sie das Formatieren, Suchen, Teilen, Ersetzen und Überprüfen von Zeichenfolgeneigenschaften.
Python vs. JavaScript: Welche Programmiersprache ist die beste?
Ein umfassender Vergleich zwischen Python und JavaScript. Entdecken Sie Syntaxunterschiede, Leistung, Anwendungsfälle (Backend vs. Frontend) und Codierungsbeispiele.