Conserver les données avec pandas

ETL et ELT en Python

Jake Roach

Data Engineer

Persister les données dans un pipeline ETL

Charger les données dans un fichier :

  • Garantit un accès stable aux données transformées
  • Se fait en phase finale d’un ETL, et aussi entre étapes
  • Capture un « instantané » des données
ETL et ELT en Python

Charger des données en CSV avec pandas

Méthode .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 appelée sur le DataFrame
  • Écrit le DataFrame au chemin "stock_data.csv"
ETL et ELT en Python

Personnaliser la sortie CSV

stock_data.to_csv("./stock_data.csv", header=True)
  • Accepte True, False ou une liste de chaînes
stock_data.to_csv("./stock_data.csv", index=True)
  • Accepte True ou False
  • Indique si la colonne index est écrite dans le fichier
stock_data.to_csv("./stock_data.csv", sep="|")
  • Accepte une chaîne pour séparer les colonnes du fichier
  • Le caractère | est courant

A des équivalents :

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

Assurer la persistance des données

Le DataFrame a-t-il bien été enregistré en 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 et ELT en Python

Passons à la pratique !

ETL et ELT en Python

Preparing Video For Download...