ホームページ > バックエンド開発 > Python チュートリアル > 既存のデータを上書きせずに、パンダを使用して既存の Excel ファイルに新しいシートを追加するにはどうすればよいですか?

既存のデータを上書きせずに、パンダを使用して既存の Excel ファイルに新しいシートを追加するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-02 23:33:29
オリジナル
1117 人が閲覧しました

How Can I Add New Sheets to an Existing Excel File Using Pandas Without Overwriting Existing Data?

Pandas を使用して既存の Excel ファイルに新しいシートを保存する

Python で処理されたデータを Excel スプレッドシートに保存することを目的としていますが、新しいシートの追加で問題が発生します既存のファイルに。提供されているコードでは、元のデータの上書きに関する懸念が生じます。

背景

新しい Excel シートを作成し、既存のシートを保持するには、2 つのオプションが利用可能です:

xlsxwriter

コードは 'xlsxwriter' をExcel ファイルを作成して保存するためのエンジン。ただし、同じファイルに後続のシートを追加すると、前のシートが上書きされます。

openpyxl

これを克服するには、「openpyxl」をエンジンとして利用できます。既存のデータを失わずに新しいシートを追加できます。

openpyxl による実装

  1. 「load_workbook」を使用して既存の Excel ファイルを読み込みます。
  2. 'openpyxl' を指定して ExcelWriter オブジェクトを作成します。 Engine.
  3. ロードされたワークブックを ExcelWriter の 'book' 属性に割り当てます。
  4. 新しい DataFrame を目的のシートに書き込みます。
  5. ExcelWriter を閉じて変更を保存します。
<code class="python">path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"

book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book

x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)

x4 = np.random.randn(100, 2)
df4 = pd.DataFrame(x4)

df3.to_excel(writer, sheet_name='x3')
df4.to_excel(writer, sheet_name='x4')
writer.close()</code>
ログイン後にコピー

を理解するコード

  • ws.title は、ロードされたワークブック内の各ワークシートのシート タイトルを表します。
  • ws は、各ワークシートを表しますobject.
  • dict は辞書の作成に使用されますここで、各キーはシート タイトルであり、対応する値はワークシート オブジェクトです。

提供された例は、Excel ファイルを生成する方法を示しています。元のデータを失わずに 2 つのシートを追加します。

以上が既存のデータを上書きせずに、パンダを使用して既存の Excel ファイルに新しいシートを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート