pandasを使ったデータの永続化

Python で学ぶ ETL と ELT

Jake Roach

Data Engineer

ETLパイプラインにおけるデータの永続化

ファイルへのデータ読み込み:

  • 変換済みデータへの安定したアクセスを保証する
  • ETLプロセスの最終ステップ、および各ステップ間で実行される
  • データの「スナップショット」を記録する
Python で学ぶ ETL と ELT

pandasを使ったCSVファイルへのデータ読み込み

.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")
  • DataFrameに対して .to_csv を呼び出す
  • DataFrameをパス "stock_data.csv" に書き込む
Python で学ぶ ETL と ELT

CSV出力のカスタマイズ

stock_data.to_csv("./stock_data.csv", header=True)
  • TrueFalse、または文字列のリストを指定する
stock_data.to_csv("./stock_data.csv", index=True)
  • True または False を指定する
  • index 列をファイルに書き込むかどうかを決定する
stock_data.to_csv("./stock_data.csv", sep="|")
  • ファイル内の列を区切る文字列を指定する
  • | 文字がよく使用される

対応するメソッド:

  • .to_parquet()
  • .to_json()
  • .to_sql()
1 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html
Python で学ぶ ETL と ELT

データ永続化の確認

DataFrameは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
Python で学ぶ ETL と ELT

練習しましょう!

Python で学ぶ ETL と ELT

Preparing Video For Download...