上書きせずに既存の Excel ファイルに書き込む: Pandas のソリューション
パンダを使用して Excel ファイルを操作する場合、上書きせずに既存のシートに書き込む既存のデータが共通の課題となる可能性があります。この問題は、パンダが新しいシートを作成して既存のデータを上書きする ExcelWriter のデフォルト動作を使用する場合に発生します。
この問題を回避するには、ExcelWriter の「engine」パラメータを利用して、基礎となる Excel エンジンを指定できます。このパラメータを「openpyxl」に設定すると、openpyxl の機能を pandas に統合できます。
問題に対処するコードは次のとおりです。
import pandas from openpyxl import load_workbook # Load the existing Excel workbook book = load_workbook('Masterfile.xlsx') # Create an ExcelWriter object using the openpyxl engine writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') # Set the ExcelWriter's book attribute to the loaded workbook writer.book = book # Assign sheet names to the writer object's sheets attribute writer.sheets = dict((ws.title, ws) for ws in book.worksheets) # Write data to the existing sheet data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) # Save the updated workbook writer.save()
「openpyxl」エンジンを指定すると、変更されたこのコードは、ワークブック内の既存のシートにアクセスする openpyxl の機能を利用します。これにより、パンダは他のタブを上書きせずに「メイン」シートにデータを追加できるようになります。
次の場合に新しいシートが作成されないようにするため、このコードを実行する前に元のワークブックに「メイン」シートが存在することを確認する必要があることに注意してください。シートが存在しません。
以上がパンダはどうすれば上書きせずに既存の Excel シートにデータを追加できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。