Data bewaren met pandas

ETL en ELT in Python

Jake Roach

Data Engineer

Data bewaren in een ETL-pijplijn

Data naar een bestand laden:

  • Geeft gebruikers stabiele toegang tot getransformeerde data
  • Gebeurt als laatste stap in ETL, maar ook tussen losse stappen
  • Legt een "momentopname" van de data vast
ETL en ELT in Python

Data naar CSV laden met pandas

.to_csv()-methode

import pandas as pd

# Data-extractie en -transformatie
raw_data = pd.read_csv("raw_stock_data.csv")
stock_data = raw_data.loc[raw_data["open"] > 100, ["timestamps", "open"]]

# Data naar een .csv-bestand laden
stock_data.to_csv("stock_data.csv")
  • .to_csv aangeroepen op de DataFrame
  • Schrijft DataFrame naar pad "stock_data.csv"
ETL en ELT in Python

CSV-uitvoer aanpassen

stock_data.to_csv("./stock_data.csv", header=True)
  • Neemt True, False of een lijst met strings
stock_data.to_csv("./stock_data.csv", index=True)
  • Neemt True of False
  • Bepaalt of de index-kolom naar het bestand wordt geschreven
stock_data.to_csv("./stock_data.csv", sep="|")
  • Neemt de scheidingsteken-string voor kolommen in het bestand
  • Het teken | is een veelgebruikte optie

Heeft tegenhangers:

  • .to_parquet()
  • .to_json()
  • .to_sql()
1 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html
ETL en ELT in Python

Datapersistentie waarborgen

Is de DataFrame correct opgeslagen naar het CSV-bestand?

import pandas
import os  # Import the os module

# Extract, transform and load data
raw_data = pd.read_csv("raw_stock_data.csv")
stock_data = raw_data.loc[raw_data["open"] > 100, ["timestamps", "open"]]
stock_data.to_csv("stock_data.csv")

# Check that the path exists
file_exists = os.path.exists("stock_data.csv")
print(file_exists)
True
ETL en ELT in Python

Laten we oefenen!

ETL en ELT in Python

Preparing Video For Download...