ホームページ >バックエンド開発 >Python チュートリアル >Pandasで上書きせずに既存のExcelファイルに新しいシートを追加する方法は?

Pandasで上書きせずに既存のExcelファイルに新しいシートを追加する方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-03 02:49:29332ブラウズ

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. ライターとワークブックの関連付け: ライターのブック属性をロードされたものに設定します。
  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' 内の既存のシートを保持し、2 つの新しいシート 'NewSheet1' と 'NewSheet2' を追加します。

以上がPandasで上書きせずに既存のExcelファイルに新しいシートを追加する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。