Pandas로 직접 DataFrame을 엑셀 파일로 저장하는 기능을 제공해주기도 하지만, Openpyxl을 이용하면 자유도 높게 DataFrame을 엑셀 파일로 저장할 수 있다.
라이브러리 임포트하기
Pandas, Openpyxl 등 라이브러리를 임포트한다.
import pandas as pd
import openpyxl
from openpyxl.utils.dataframe import dataframe_to_rows
임의의 DataFrame 객체를 만든다.
임의의 데이터프레임 만들기
Pandas를 이용해 임의의 데이터프레임을 만들어준다.
# 임의의 데이터 프레임 생성
df = pd.DataFrame(
{
"col1": [1, 2, 3, None, 0],
"col2": ["a", "b", "c", "d", "e"]
}
)
df
| col1 | col2 | |
|---|---|---|
| 0 | 1.0 | a |
| 1 | 2.0 | b |
| 2 | 3.0 | c |
| 3 | NaN | d |
| 4 | 0.0 | e |
통합 문서 시트에 데이터프레임 삽입하고 파일로 저장하기
통합 문서 객체를 만들고, 시트를 선택한 후 dataframe_to_rows를 이용해 시트에 DataFrame을 삽입한다. index를 True로 지정하면 DataFrame의 인덱스 값도 삽입할 수 있다. header를 False로 지정하면 컬럼명을 제외하고 값을 삽입할 수 있다.
# 통합 문서 객체 생성
wb = openpyxl.Workbook()
# 시트 선택
ws = wb.active
# 시트에 데이터프레임 삽입
for r in dataframe_to_rows(df, index=False, header=True):
ws.append(r)
# 엑셀 파일에 저장
wb.save("./test.xlsx")

참고
- https://openpyxl.readthedocs.io/en/latest/pandas.html
댓글남기기