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)
  • True, False 또는 문자열 값의 리스트를 받음
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...