JSON und CSV mit Python
JSON und CSV sind die zwei häufigsten Datenaustauschformate – Python verarbeitet beide mit der Standardbibliothek.
JSON
import json
daten = {"name": "Hanse", "dienste": ["web", "mail"]}
text = json.dumps(daten, ensure_ascii=False) # dict -> str
zurueck = json.loads(text) # str -> dict
# Aus Datei lesen/schreiben
with open("daten.json", "w", encoding="utf-8") as f:
json.dump(daten, f, ensure_ascii=False, indent=2)
with open("daten.json", encoding="utf-8") as f:
daten = json.load(f)
CSV
import csv
with open("tabelle.csv", newline="", encoding="utf-8") as f:
for zeile in csv.DictReader(f): # Header als Keys
print(zeile["name"])
with open("out.csv", "w", newline="", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerow(["name", "stadt"])
writer.writerow(["Michael", "Lübeck"])
Pitfalls
CSV mit newline="" öffnen (sonst doppelte Zeilenumbrüche unter Windows). Bei JSON immer ensure_ascii=False für lesbare Umlaute. Für große Datenmengen (100 MB+) eignet sich ijson oder das Streaming von Zeilen.
Weiterlesen: Dateien lesen und schreiben · HTML-Grundlagen · SQL-Grundlagen