Erfasste Daten effizient speichern
In CSV/JSON/Parquet speichern, sicher anhängen, Duplikate entfernen und inkrementell erfassen.
Erfasste Daten effizient speichern ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Von Rohantworten zu gespeicherten Daten
Nach dem Sammeln von Daten müssen Sie diese speichern, damit sie erneut geladen, geteilt und analysiert werden können. Das richtige Format und einige bewährte Vorgehensweisen machen bei Geschwindigkeit und Speicherplatzbedarf einen großen Unterschied.
In dieser Lektion geht es um CSV, Parquet, das Anhängen von Batches und die Entfernung von Duplikaten.
JSON in einen DataFrame umwandeln
API-Antworten bestehen normalerweise aus Listen von Dictionaries. pd.DataFrame wandelt diese direkt in eine für die Speicherung geeignete Tabelle um.
import pandas as pd
records = [
{"id": 1, "name": "A", "score": 9.5},
{"id": 2, "name": "B", "score": 8.0},
]
df = pd.DataFrame(records)
print(df)Mit df.to_csv in CSV speichern
CSV ist universell einsetzbar und für Menschen lesbar. Speichern Sie mit to_csv; übergeben Sie index=False, damit der Zeilenindex nicht als unerwünschte Spalte geschrieben wird.
df.to_csv("data.csv", index=False)
# Reload
df2 = pd.read_csv("data.csv")Grenzen von CSV
CSV ist praktisch, hat bei der Arbeit mit KI aber einige Nachteile:
- Keine Datentypen – alles wird als Text gespeichert, daher werden die dtypes beim Laden erneut geschätzt
- Große Dateien, standardmäßig ohne Komprimierung
- Langsames Lesen bei großen Datensätzen
Für größere oder wiederholt geladene Daten ist Parquet besser geeignet.
Mit df.to_parquet in Parquet speichern
Parquet ist ein spaltenorientiertes Binärformat. Es bewahrt die dtypes, lässt sich gut komprimieren und wird deutlich schneller geladen als CSV.
Dafür muss eine Engine wie pyarrow installiert sein.
df.to_parquet("data.parquet", index=False)
df2 = pd.read_parquet("data.parquet")
print(df2.dtypes) # types preserved, no re-guessingCSV oder Parquet – wann welches Format verwenden?
Als Faustregeln gilt:
- CSV: kleine Datenmengen, Austausch mit Nicht-Python-Tools, schnelle Überprüfung
- Parquet: große Datenmengen, wiederholtes Laden, zuverlässige Datentypen, Analyse-Pipelines
Bei Sammelprozessen, deren Daten in Modelle einfließen, sollten Sie Parquet bevorzugen.
Neue Batches mit pd.concat anhängen
Das Sammeln erfolgt häufig in Batches. Führen Sie einen bestehenden DataFrame und einen neuen mit pd.concat zusammen.
ignore_index=True nummeriert den Index neu, damit er übersichtlich bleibt.
new_batch = pd.DataFrame(new_records)
df = pd.concat([df, new_batch], ignore_index=True)
print(len(df))Neue Daten direkt an eine CSV-Datei anhängen
Um Daten an eine bestehende CSV-Datei anzuhängen, ohne sie zu laden, öffnen Sie die Datei im Anhängemodus und lassen Sie bei späteren Schreibvorgängen die Kopfzeile weg.
import os
header = not os.path.exists("data.csv")
new_batch.to_csv("data.csv", mode="a", header=header, index=False)Warum Duplikate entfernen
Das erneute Ausführen der Datensammlung, sich überschneidende Seiten oder Wiederholungsversuche können doppelte Zeilen erzeugen. Duplikate blähen Zählungen auf und können zwischen Trainings-/Test-Splits durchsickern, was die Modellbewertung beeinträchtigt.
Führen Sie nach dem Zusammenführen von Batches immer eine Deduplizierung durch.
drop_duplicates(subset=[id])
Verwenden Sie einen stabilen eindeutigen Schlüssel (häufig id) mit drop_duplicates(subset=...). Dadurch werden Wiederholungen entfernt, selbst wenn sich andere Felder geringfügig geändert haben.
keep="last" behält die neueste Version jedes Datensatzes mit dieser id.
df = df.drop_duplicates(subset=["id"], keep="last").reset_index(drop=True)
print(len(df), "unique rows")Eine Hilfsfunktion zum Speichern und Zusammenführen
Führen Sie die Teile zusammen: Laden Sie vorhandenes Parquet, falls vorhanden, fügen Sie den neuen Batch an, entfernen Sie Duplikate anhand von id und speichern Sie die Daten wieder. Kann sicher wiederholt ausgeführt werden.
import os
import pandas as pd
def save_merge(new_df, path="data.parquet", key="id"):
if os.path.exists(path):
old = pd.read_parquet(path)
new_df = pd.concat([old, new_df], ignore_index=True)
new_df = new_df.drop_duplicates(subset=[key], keep="last")
new_df.to_parquet(path, index=False)
return new_dfSchnelltest: Wahl des Formats
Sie laden wiederholt einen großen Datensatz für das Modelltraining und benötigen schnelle Lesevorgänge, wobei die dtypes erhalten bleiben müssen.
Rückblick: Daten effizient speichern
Sie können gesammelte Daten jetzt zuverlässig speichern:
pd.DataFrame, um JSON-Datensätze in eine Tabelle umzuwandelnto_csv(index=False)für portablen Text,to_parquetfür schnelle Speicherung mit Datentypenpd.concat(ignore_index=True)oder den CSV-Anfügemodus für Batchesdrop_duplicates(subset=["id"]), um Zeilen eindeutig zu halten
Als Nächstes: die Arbeit mit echten öffentlichen Daten-APIs.
Häufig gestellte Fragen
Ist die Lektion „Erfasste Daten effizient speichern“ kostenlos?
Ja — der vollständige Text von „Erfasste Daten effizient speichern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Erfasste Daten effizient speichern“?
In CSV/JSON/Parquet speichern, sicher anhängen, Duplikate entfernen und inkrementell erfassen. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Erfasste Daten effizient speichern“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlagen von REST-APIs für die Datenerfassung
- Große Datensätze paginieren und erfassen
- Erfasste Daten effizient speichern
- Mit öffentlichen Daten-APIs arbeiten