기존 Excel 파일로 작업할 때는 데이터 덮어쓰기를 방지하는 것이 중요합니다. Pandas에서는 to_excel() 메서드를 사용하여 기존 파일에 쓸 때 이 문제가 발생할 수 있습니다.
다음 코드는 기존 Excel의 특정 시트에 DataFrame을 쓰려고 시도합니다. file:
import pandas writer = pandas.ExcelWriter('Masterfile.xlsx') data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save()
Pandas가 파일의 다른 모든 시트를 삭제하고 새로 생성된 시트 이름만 남기기 때문에 문제가 발생합니다. "Main."
이 문제를 해결하기 위해 Pandas가 XLSX 파일을 처리하기 위해 내부적으로 사용하는 openpyxl 라이브러리를 활용할 수 있습니다. openpyxl.load_workbook()을 사용하여 기존 통합 문서를 로드하고 ExcelWriter 개체에 할당하면 기존 시트가 유지되도록 시트 사전을 수정할 수 있습니다.
수정된 코드는 다음과 같습니다.
import pandas from openpyxl import load_workbook book = load_workbook('Masterfile.xlsx') writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') writer.book = book # Assign the sheet dictionary to preserve existing sheets writer.sheets = dict((ws.title, ws) for ws in book.worksheets) data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save()
위 내용은 기존 시트를 덮어쓰지 않고 기존 Excel 파일에 Pandas 데이터를 추가하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!