Zapisywanie danych za pomocą pandas

ETL i ELT w Pythonie

Jake Roach

Data Engineer

Zapisywanie danych w potoku ETL

Zapisywanie danych do pliku:

  • Zapewnia odbiorcom danych stały dostęp do przetworzonych danych
  • Następuje jako ostatni etap procesu ETL, a także pomiędzy poszczególnymi etapami
  • Zapisuje „migawkę" danych
ETL i ELT w Pythonie

Zapisywanie danych do plików CSV za pomocą pandas

Metoda .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")
  • metoda .to_csv wywołana na DataFrame
  • zapisuje DataFrame do ścieżki "stock_data.csv"
ETL i ELT w Pythonie

Dostosowywanie zapisu do plików CSV

stock_data.to_csv("./stock_data.csv", header=True)
  • przyjmuje wartość True, False lub listę ciągów znaków
stock_data.to_csv("./stock_data.csv", index=True)
  • przyjmuje wartość True lub False
  • określa, czy kolumna index zostanie zapisana do pliku
stock_data.to_csv("./stock_data.csv", sep="|")
  • przyjmuje ciąg znaków używany do oddzielania kolumn w pliku
  • znak | jest częstym wyborem

Ma odpowiedniki:

  • .to_parquet()
  • .to_json()
  • .to_sql()
1 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html
ETL i ELT w Pythonie

Zapewnianie trwałości danych

Czy DataFrame został poprawnie zapisany do pliku 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 i ELT w Pythonie

Czas na praktykę!

ETL i ELT w Pythonie

Preparing Video For Download...