>백엔드 개발 >파이썬 튜토리얼 >Pandas에서 덮어쓰지 않고 기존 Excel 파일에 새 시트를 추가하는 방법은 무엇입니까?

Pandas에서 덮어쓰지 않고 기존 Excel 파일에 새 시트를 추가하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-03 02:49:29331검색

How to Add New Sheets to an Existing Excel File Without Overwriting in Pandas?

새 시트를 추가하면서 기존 Excel 시트를 보존하는 방법

Pandas에서 새 시트를 기존 Excel 파일에 저장하면 시트를 보존하는 데 어려움이 있습니다. 원본 내용. 이를 해결하기 위해 'openpyxl'을 활용한 효과적인 방법을 모색하겠습니다.

문제

Pandas의 기본 동작은 새 시트를 추가할 때 기존 시트를 덮어쓰는 것입니다. 이는 기존 파일에 새 데이터를 추가하려고 할 때 데이터 손실로 이어질 수 있습니다.

'openpyxl'을 사용하는 솔루션

'openpyxl'은 기존 파일을 처리하는 방법을 제공합니다. 덮어쓰지 않은 통합 문서. 단계별 분석은 다음과 같습니다.

  1. 기존 통합 문서 로드: load_workbook()을 사용하여 기존 Excel 파일을 로드합니다.
  2. ExcelWriter 만들기: 'openpyxl' 엔진을 사용하여 ExcelWriter 객체를 생성하고 기존 파일과 동일한 경로를 지정합니다.
  3. 작가 및 통합 문서 연결: 작가의 book 속성을 로드된
  4. 새 시트 작성: 각 DataFrame에서 to_excel() 메서드를 호출하고 적절한 시트 이름을 제공하여 기존 통합 문서에 새 시트를 추가합니다.
  5. Writer 닫기: 모든 시트가 추가되면 ExcelWriter를 닫아 변경 사항을 저장합니다.

예:

다음은 예입니다. 프로세스를 설명하는 코드:

<code class="python">import pandas as pd
from openpyxl import load_workbook

# Load existing workbook
book = load_workbook('existing.xlsx')

# Create ExcelWriter and associate it with the workbook
writer = pd.ExcelWriter('existing.xlsx', engine='openpyxl')
writer.book = book

# Append new sheets
new_df1 = pd.DataFrame({'x': [1, 2, 3]})
new_df2 = pd.DataFrame({'y': [4, 5, 6]})

new_df1.to_excel(writer, sheet_name='NewSheet1')
new_df2.to_excel(writer, sheet_name='NewSheet2')

# Save changes
writer.close()</code>

이 예에서 코드는 'existing.xlsx'의 기존 시트를 유지하고 'NewSheet1' 및 'NewSheet2'라는 두 개의 새 시트를 추가합니다.

위 내용은 Pandas에서 덮어쓰지 않고 기존 Excel 파일에 새 시트를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.