Pandas를 사용하여 데이터를 덮어쓰지 않고 기존 Excel 파일에 새 시트를 어떻게 추가할 수 있나요?

Linda Hamilton
풀어 주다: 2024-11-03 04:12:03
원래의
862명이 탐색했습니다.

How Can I Add New Sheets to an Existing Excel File Without Overwriting Data Using Pandas?

Pandas를 사용하여 기존 Excel 파일에 새 시트 저장

목표는 기존 Excel 파일을 덮어쓰지 않고 기존 Excel 파일에 여러 시트를 쓰는 것입니다. data.

원본 코드:

제공된 코드는 'xlsxwriter' 엔진을 사용하여 두 개의 DataFrame을 Excel 파일의 두 시트에 저장합니다. 그러나 새 시트를 추가하려고 하면 원본 데이터가 손실됩니다.

'openpyxl' 엔진 사용:

기존 데이터를 보존하려면 'openpyxl'을 사용하세요. 엔진. 아래 코드는 이를 수행하는 방법을 보여줍니다.

import pandas as pd
import numpy as np
from openpyxl import load_workbook

path = r"C:UsersfedelDesktopexcelDataPhD_data .xlsx"

초기 시트가 포함된 Excel 파일 만들기

x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)

x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)

writer = pd.ExcelWriter(path, 엔진='xlsxwriter')
df1.to_excel (writer, sheet_name='x1')
df2.to_excel(writer, sheet_name='x2')
writer.close()

워크북을 불러와서 작가에게 첨부하세요

book = load_workbook(path)
writer = pd.ExcelWriter(path,engine='openpyxl')
writer.book = book

새 시트 및 DataFrames 추가

x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)

x4 = np.random.randn(100, 2)
df4 = pd.DataFrame (x4)

df3.to_excel(writer, sheet_name='x3')
df4.to_excel(writer, sheet_name='x4')
writer.close()

코드 이해:

  • load_workbook은 기존 Excel 파일을 로드합니다.
  • writer를 사용하여 로드된 통합 문서를 작성기 개체에 연결합니다. .book = 책.
  • to_excel을 사용하기 전처럼 새 시트와 DataFrame을 추가합니다.
  • 작성기를 닫아 변경 사항을 저장합니다.

코드는 워크시트를 반복합니다. 키가 시트 제목이고 값이 시트 개체인 사전에 할당합니다. 이를 통해 작성자는 기존 시트를 덮어쓰지 않고도 기존 파일에 새 시트와 데이터를 추가할 수 있습니다.

위 내용은 Pandas를 사용하여 데이터를 덮어쓰지 않고 기존 Excel 파일에 새 시트를 어떻게 추가할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿