Persistencia de datos con pandas

ETL y ELT en Python

Jake Roach

Data Engineer

Persistir datos en una canalización ETL

Cargar datos a un archivo:

  • Garantiza acceso estable a los datos transformados
  • Sucede al final del ETL y también entre pasos
  • Captura una “instantánea” de los datos
ETL y ELT en Python

Cargar datos a CSV con pandas

Método .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 llamado sobre el DataFrame
  • Escribe el DataFrame en la ruta "stock_data.csv"
ETL y ELT en Python

Personalizar la salida CSV

stock_data.to_csv("./stock_data.csv", header=True)
  • Acepta True, False o una lista de cadenas
stock_data.to_csv("./stock_data.csv", index=True)
  • Acepta True o False
  • Indica si la columna index se escribe en el archivo
stock_data.to_csv("./stock_data.csv", sep="|")
  • Acepta la cadena que separa las columnas en el archivo
  • El carácter | es común

Tiene equivalentes:

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

Garantizar la persistencia de datos

¿Se guardó bien el DataFrame en el CSV?

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 y ELT en Python

¡Vamos a practicar!

ETL y ELT en Python

Preparing Video For Download...