Persistenza dei dati con pandas

ETL and ELT in Python

Jake Roach

Data Engineer

Persistenza dei dati in una pipeline ETL

Caricare i dati in un file:

  • Garantisce a chi usa i dati un accesso stabile ai dati trasformati
  • Avviene come passo finale di un processo ETL, ma anche tra step distinti
  • Crea uno "snapshot" dei dati
ETL and ELT in Python

Caricare dati in file CSV con pandas

Metodo .to_csv()

import pandas as pd

# Estrazione e trasformazione
data_grezzi = pd.read_csv("raw_stock_data.csv")
stock_data = data_grezzi.loc[data_grezzi["open"] > 100, ["timestamps", "open"]]

# Carica i dati in un file .csv
stock_data.to_csv("stock_data.csv")
  • .to_csv chiamato sul DataFrame
  • Scrive il DataFrame nel percorso "stock_data.csv"
ETL and ELT in Python

Personalizzare l'output CSV

stock_data.to_csv("./stock_data.csv", header=True)
  • Accetta True, False o una lista di stringhe
stock_data.to_csv("./stock_data.csv", index=True)
  • Accetta True o False
  • Stabilisce se la colonna index viene scritta nel file
stock_data.to_csv("./stock_data.csv", sep="|")
  • Accetta una stringa per separare le colonne nel file
  • Il carattere | è un'opzione comune

Ha controparti:

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

Garantire la persistenza dei dati

Il DataFrame è stato salvato correttamente nel file CSV?

import pandas
import os  # Importa il modulo os

# Estrai, trasforma e carica i dati
data_grezzi = pd.read_csv("raw_stock_data.csv")
stock_data = data_grezzi.loc[data_grezzi["open"] > 100, ["timestamps", "open"]]
stock_data.to_csv("stock_data.csv")

# Verifica che il percorso esista
file_exists = os.path.exists("stock_data.csv")
print(file_exists)
True
ETL and ELT in Python

Esercitiamoci!

ETL and ELT in Python

Preparing Video For Download...