ホームページ >バックエンド開発 >Python チュートリアル >既存のシートを上書きせずに、既存の Excel ファイルに Pandas データを追加するにはどうすればよいですか?
既存の 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 中国語 Web サイトの他の関連記事を参照してください。