Lagra insamlade data effektivt
Spara till CSV/JSON/Parquet, lägga till data säkert, ta bort dubbletter och samla in inkrementellt.
Lagra insamlade data effektivt är en gratis lektion i Lär Er AI med Python på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lär Er AI med Python, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.
Från råa svar till lagrade data
Efter att du har samlat in data behöver du lagra dem så att de kan läsas in igen, delas och analyseras. Rätt format och några goda vanor gör stor skillnad för hastighet och diskutrymme.
I den här lektionen går vi igenom CSV, Parquet, tillägg av batcher och deduplicering.
Från JSON till DataFrame
API-svar består vanligtvis av listor med dictionaries. pd.DataFrame omvandlar dem direkt till en tabell som är redo att lagras.
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)Spara till CSV med df.to_csv
CSV är universellt och lättläst för människor. Spara med to_csv; skicka med index=False så att radindexet inte skrivs som en överflödig kolumn.
df.to_csv("data.csv", index=False)
# Reload
df2 = pd.read_csv("data.csv")CSV:s begränsningar
CSV är praktiskt men har nackdelar i AI-arbete:
- Inga datatyper — allt lagras som text, så dtypes måste gissas om vid inläsning
- Stora filer utan komprimering som standard
- Långsam inläsning av stora datamängder
För större data eller data som läses in upprepade gånger är Parquet bättre.
Spara till Parquet med df.to_parquet
Parquet är ett kolumnbaserat binärt format. Det bevarar datatyper, komprimeras effektivt och läses in mycket snabbare än CSV.
Det kräver att en engine som pyarrow är installerad.
df.to_parquet("data.parquet", index=False)
df2 = pd.read_parquet("data.parquet")
print(df2.dtypes) # types preserved, no re-guessingCSV kontra Parquet — när ska man använda vilket
Tumregler:
- CSV: små datamängder, delning med verktyg som inte använder Python, snabb inspektion
- Parquet: stora datamängder, upprepad inläsning, bevarade datatyper, analys-pipelines
För insamlingsjobb som matar modeller bör du föredra Parquet.
Lägg till nya batcher med pd.concat
Insamling sker ofta i batcher. Kombinera en befintlig DataFrame med en ny genom att använda pd.concat.
ignore_index=True numrerar om indexet så att det förblir rent.
new_batch = pd.DataFrame(new_records)
df = pd.concat([df, new_batch], ignore_index=True)
print(len(df))Lägg till direkt i en CSV-fil
Om du vill lägga till data i en befintlig CSV utan att läsa in den öppnar du filen i tilläggsläge och hoppar över rubriken vid senare skrivningar.
import os
header = not os.path.exists("data.csv")
new_batch.to_csv("data.csv", mode="a", header=header, index=False)Varför deduplicera
Omkörningar av insamlingen, överlappande sidor eller nya försök kan skapa dubbla rader. Dubbletter blåser upp antal och kan läcka mellan tränings-/testuppdelningar, vilket försämrar modellutvärderingen.
Deduplicera alltid efter att du har kombinerat batchar.
drop_duplicates(subset=[id])
Använd en stabil unik nyckel (ofta id) med drop_duplicates(subset=...). Då tas upprepningar bort även om andra fält har ändrats något.
keep="last" behåller den senaste versionen av varje id.
df = df.drop_duplicates(subset=["id"], keep="last").reset_index(drop=True)
print(len(df), "unique rows")Hjälpfunktion för att spara och slå samman
Kombinera delarna: läs in befintlig Parquet om den finns, slå samman den nya batchen, deduplicera efter id och spara tillbaka. Det är säkert att köra detta upprepade gånger.
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_dfSnabbkontroll: val av format
Du läser upprepade gånger in en stor datamängd för modellträning och behöver bevara datatyper med snabba inläsningar.
Sammanfattning: effektiv lagring av data
Nu kan du lagra insamlade data på ett bra sätt:
pd.DataFrameför att omvandla JSON-poster till en tabellto_csv(index=False)för portabel text,to_parquetför snabb lagring med bevarade datatyperpd.concat(ignore_index=True)eller CSV:s append-läge för batchardrop_duplicates(subset=["id"])för att hålla raderna unika
Nästa steg: att arbeta med riktiga publika data-API:er.
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 53
- Lektioner
- 225
Vanliga frågor
Är lektionen ”Lagra insamlade data effektivt” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lär Er AI med Python, inklusive ”Lagra insamlade data effektivt”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.
Vad lär jag mig i ”Lagra insamlade data effektivt”?
Spara till CSV/JSON/Parquet, lägga till data säkert, ta bort dubbletter och samla in inkrementellt. Ni övar på Lär Er AI med Python med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Lär Er AI med Python?
Du behöver inga förkunskaper. Utbildningen i Lär Er AI med Python på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Lagra insamlade data effektivt”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Lär Er AI med Python-lektionen?
Ja. Varje Lär Er AI med Python-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Grunderna i REST API:er för datainsamling
- Paginering och insamling av stora datamängder
- Lagra insamlade data effektivt
- Arbeta med offentliga data-API:er