Daten mit pandas persistieren

ETL und ELT mit Python

Jake Roach

Data Engineer

Daten in einer ETL-Pipeline persistieren

Daten in eine Datei laden:

  • Sichert stabilen Zugriff auf transformierte Daten für Nutzer:innen
  • Passiert als letzter ETL-Schritt und auch zwischen Teilschritten
  • Hält einen „Snapshot“ der Daten fest
ETL und ELT mit Python

Daten mit pandas in CSV laden

Methode .to_csv()

import pandas as pd

# Data extraction and transformation
raw_data = pd.read_csv("raw_stock_data.csv")
stock_data = raw_data.loc[raw_data["open"] > 100, ["timestamps", "open"]]

# Load data to a .csv file
stock_data.to_csv("stock_data.csv")
  • .to_csv auf dem DataFrame aufgerufen
  • Schreibt das DataFrame nach "stock_data.csv"
ETL und ELT mit Python

CSV-Ausgabe anpassen

stock_data.to_csv("./stock_data.csv", header=True)
  • Nimmt True, False oder eine Liste von Strings
stock_data.to_csv("./stock_data.csv", index=True)
  • Nimmt True oder False
  • Legt fest, ob die index-Spalte in die Datei geschrieben wird
stock_data.to_csv("./stock_data.csv", sep="|")
  • Nimmt das Trennzeichen für Spalten als String
  • Das Zeichen | ist eine gängige Option

Hat Gegenstücke:

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

Datenpersistenz sicherstellen

Wurde das DataFrame korrekt in die CSV-Datei gespeichert?

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 und ELT mit Python

Lass uns üben!

ETL und ELT mit Python

Preparing Video For Download...