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을 삽입한다. indexTrue로 지정하면 DataFrame의 인덱스 값도 삽입할 수 있다. headerFalse로 지정하면 컬럼명을 제외하고 값을 삽입할 수 있다.

# 통합 문서 객체 생성
wb = openpyxl.Workbook()
# 시트 선택
ws = wb.active
# 시트에 데이터프레임 삽입
for r in dataframe_to_rows(df, index=False, header=True):
    ws.append(r)
# 엑셀 파일에 저장
wb.save("./test.xlsx")

PNG


참고

  • https://openpyxl.readthedocs.io/en/latest/pandas.html

태그:

카테고리:

업데이트:

댓글남기기