ホームページ >バックエンド開発 >Python チュートリアル >Pandas を使用して既存の Excel ファイルに新しいシートを追加する方法

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

Barbara Streisand
Barbara Streisandオリジナル
2024-11-03 07:06:301100ブラウズ

How to Add New Sheets to an Existing Excel File Using Pandas?

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

Python で Excel データを扱う場合、ユーザーは既存の Excel ファイルに新しいシートを保存するという課題に遭遇する可能性があります。 。このガイドでは、Pandas ライブラリを使用したソリューションを提供し、「xlsxwriter」エンジンの制限と「openpyxl」エンジンの実装について説明します。

問題を理解する

指定されたコードでは、ユーザーは、「x1」と「x2」の 2 つのシートを含む Excel ファイルを作成します。ただし、新しいシート「x3」および「x4」を追加しようとすると、元のデータが上書きされます。これは、「xlsxwriter」エンジンがデータを新しいファイルに保存するか、既存のファイルに上書きするだけであるために発生します。

「openpyxl」エンジンを使用した解決策

新しいシートを追加するときに既存のデータを保持するには、次を使用します。 「openpyxl」エンジン。次のコードは、このアプローチを示しています。

<code class="python">import pandas as pd
import numpy as np
from openpyxl import load_workbook

path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"

book = load_workbook(path)  # Load the existing Excel file
writer = pd.ExcelWriter(path, engine='openpyxl')  # Create a Pandas writer connected to the workbook
writer.book = book  # Assign the workbook to the Pandas writer

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')  # Write the new dataframes to the existing file
df4.to_excel(writer, sheet_name='x4')

writer.close()  # Save the changes to the file</code>

説明

  1. 既存の Excel ファイルをロードします: この行は、次を使用して既存の Excel ファイルをワークブック オブジェクトに読み込みます。
  2. Pandas ライターの作成: ここでは、Pandas ExcelWriter が、engine='openpyxl' パラメーターを使用して作成されます。これは、「openpyxl」エンジンの使用を指定します。
  3. ワークブックをライターに割り当てます: Writer.book 属性は、ロードされたワークブック オブジェクトに設定され、Pandas ライターを既存のファイルにリンクします。
  4. 新規生成dataframes: 元のコードと同様に、新しいデータフレーム (「x3」および「x4」) が作成されます。
  5. Write new dataframes: 新しいデータフレームは既存のファイルに保存されます。 to_excel メソッドを使用し、シート名 (「x3」と「x4」) を指定します。
  6. 変更を保存: 最後に、Pandas ライターによって加えられた変更は、次の方法で Excel ファイルに保存されます。 Writer.close() メソッドを呼び出します。

WebSocket、ws、および Dict

指定されたリンクからの推奨コード内:

  • WebSocket (ws): これは、ロードされたワークブック内の各ワークシートを参照します。
  • ws.title: ワークブック内の特定のワークシートの名前を表します。
  • Dict: コードは辞書を使用して、ワークシート名とワークシート オブジェクト間のマッピングを作成します。これにより、Pandas ライターはロードされたワークブック内の特定のシートにアクセスできるようになります。

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

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