ホームページ >バックエンド開発 >Python チュートリアル >Python で上書きせずに既存の Excel シートに Pandas DataFrame を追加するにはどうすればよいですか?

Python で上書きせずに既存の Excel シートに Pandas DataFrame を追加するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-03 12:49:11570ブラウズ

How Can I Append a Pandas DataFrame to an Existing Excel Sheet in Python Without Overwriting?

Python Pandas を使用して既存の Excel シートに新しいデータフレームを追加する

問題:

既存の Excel ファイルとパンダのデータフレーム。既存の Excel シートを上書きせずに、その末尾に DataFrame を追加したいと考えています。

解決策:

既存の Excel にデータを追加するには、主に 2 つの方法があります。 Pandas を使用したシート:

アプローチ 1: 使用ExcelWriter

import pandas as pd

df = pd.DataFrame(...)

with pd.ExcelWriter('existing_sheet.xlsx', mode='a', engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name='Sheet1', header=False, index=False, startrow=writer.sheets['Sheet1'].max_row + 1)

アプローチ 2: Openpyxl と Pandas の使用

import pandas as pd
from openpyxl import load_workbook

df = pd.DataFrame(...)

# Load existing Excel workbook
book = load_workbook('existing_sheet.xlsx')
sheet = book['Sheet1']

# Find last row in existing Excel sheet
last_row = sheet.max_row

# Append DataFrame data to existing sheet starting from last row + 1
pd.DataFrame.to_excel(df, book, sheet_name='Sheet1', startrow=last_row + 1, index=False)

# Save changes to existing Excel file
book.save('existing_sheet.xlsx')

追加のヒント:

  • シートが存在しない場合、Pandas は自動的に作成されます。
  • startrow パラメーターを使用して、データを追加する開始行を指定できます。
  • 既存のセル スタイルを保持するには、Openpyxl と Pandas を使用するときに copy_excel_cell_range 関数で with_style=True を設定します。
  • Pandas バージョンの場合
1.4.0 では、リンクされたコード例のヘルパー関数を使用して、データを上書きせずに追加します。

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

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