Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas 데이터프레임을 엑셀 여러 시트에 저장하는 방법

Pandas 데이터프레임(DataFrame)을 하나의 엑셀 파일에 여러 시트로 나누어 저장하려면 pd.ExcelWriter() 메서드를 사용하면 됩니다. ExcelWriter()를 사용하기 전에 openpyxl 패키지가 설치되어 있는지 먼저 확인하세요.

openpyxl이 설치되어 있지 않다면 다음 명령으로 간단히 설치할 수 있습니다.

pip install openpyxl

진행 단계

  • 2차원 형태의, 크기가 가변적이며 이질적인 데이터를 포함할 수 있는 표 형태의 데이터프레임 df1을 생성합니다.
  • 입력 데이터프레임 df1을 출력하여 확인합니다.
  • 또 다른 데이터프레임 df2를 생성하고 출력합니다.
  • ExcelWriter() 메서드를 사용해 지정된 데이터를 엑셀 시트에 작성합니다.

예제 코드

import pandas as pd

# 첫 번째 데이터프레임 생성
df1 = pd.DataFrame(
   [[5, 2], [4, 1]],
   index=["One", "Two"],
   columns=["Rank", "Subjects"]
)

# 두 번째 데이터프레임 생성
df2 = pd.DataFrame(
   [[15, 21], [41, 11]],
   index=["One", "Two"],
   columns=["Rank", "Subjects"]
)

print("DataFrame 1:\n", df1)
print("DataFrame 2:\n", df2)

# ExcelWriter를 사용해 여러 시트에 저장
with pd.ExcelWriter('output.xlsx') as writer:
    df1.to_excel(writer, sheet_name='Sheet_name_1')
    df2.to_excel(writer, sheet_name='Sheet_name_2')

실행 결과

DataFrame 1:

      Rank  Subjects
One     5         2
Two     4         1

DataFrame 2:

      Rank  Subjects
One    15        21
Two    41        11

결과 확인

코드를 실행하면 프로젝트 디렉터리에 "output.xlsx"라는 이름의 엑셀 파일이 생성되고, 두 개의 데이터프레임 값이 각각 Sheet_name_1Sheet_name_2라는 서로 다른 시트에 저장됩니다.

이 방식의 장점은 with 문을 사용하기 때문에 모든 시트 작성이 완료된 후 파일이 자동으로 저장되고 닫힌다는 점입니다. 세 개 이상의 시트가 필요한 경우에도 to_excel() 호출을 반복적으로 추가하고 sheet_name 매개변수만 다르게 지정하면 됩니다.