Python

[파이썬] 엑셀 통합파일(.xlsx) 시트별 저장 - ExcelWriter

weweGH 2025. 6. 7. 16:00
반응형

엑셀 통합파일 시트 저장
엑셀 통합파일 시트 저장


엑셀 통합파일(.xlsx) 시트별 저장 - ExcelWriter


들어가며


데이터 분석을 하는 과정에서 .csv 파일뿐만 아니라 엑셀 통합파일을 저장해야 하는 경우가 있습니다. 이때, 판다스의 ExcelWriter을 활용하면 시트별로 저장할 수 있습니다.


  • 엑셀 통합파일 생성
  • 엑셀 시트 저장
  • 엑셀 통합파일 종료

먼저 판다스를 import합니다. 데이터는 파이썬에 내장된 데이터셋인 wine, diabetes, iris를 활용하겠습니다. 각각의 데이터를 통합파일 1개에 별도의 시트로 저장합니다.

import pandas as pd

from sklearn.datasets import load_wine
from sklearn.datasets import load_diabetes
from sklearn.datasets import load_iris

wine = load_wine()
df_wine = pd.DataFrame(wine.data, columns=wine.feature_names)

diabetes = load_diabetes()
df_diabetes = pd.DataFrame(diabetes.data, columns=diabetes.feature_names)

iris = load_iris()
df_iris = pd.DataFrame(iris.data, columns=iris.feature_names)

엑셀 통합파일 생성


pandas의 ExcelWriter를 활용하여, 3개의 시트를 저장할 엑셀 통합파일을 생성합니다.

writer = pd.ExcelWriter('엑셀통합파일저장_테스트.xlsx', engine='xlsxwriter')

xlsx
xlsx


엑셀 시트별 저장


위에서 불러온 데이터를 각각의 시트명을 지정하여 시트별로 저장합니다.

df_wine.to_excel(writer, sheet_name = 'wine', index=False)
df_diabetes.to_excel(writer, sheet_name = 'diabetes', index=False)
df_iris.to_excel(writer, sheet_name = 'iris', index=False)

wine sheet각각의 시트에 저장iris sheet
sheet 저장


엑셀 통합파일 종료


엑셀 통합파일을 저장하고 마무리할 때는 반드시 close로 저장 종료를 해야 합니다.

writer.close()
반응형

전체 코드


# 패키지 import
import pandas as pd

from sklearn.datasets import load_wine
from sklearn.datasets import load_diabetes
from sklearn.datasets import load_iris

# data load
wine = load_wine()
df_wine = pd.DataFrame(wine.data, columns=wine.feature_names)

diabetes = load_diabetes()
df_diabetes = pd.DataFrame(diabetes.data, columns=diabetes.feature_names)

iris = load_iris()
df_iris = pd.DataFrame(iris.data, columns=iris.feature_names)

# 엑셀 통합파일 생성
writer = pd.ExcelWriter('엑셀통합파일저장_테스트.xlsx', engine='xlsxwriter')

# 엑셀 시트별 저장
df_wine.to_excel(writer, sheet_name = 'wine', index=False)
df_diabetes.to_excel(writer, sheet_name = 'diabetes', index=False)
df_iris.to_excel(writer, sheet_name = 'iris', index=False)

# 엑셀 통합파일 종료
writer.close()

반응형