ホームページ >バックエンド開発 >Python チュートリアル >Pandas を使用して Python で既存の Excel シートに新しいデータフレームを追加する方法
Python Pandas を使用して既存の Excel シートに新しいデータフレームを追加する
この記事では、既存の Excel シートに新しいデータフレームを追加する方法を説明します。 Pythonを使用したExcelスプレッドシートPandas.
問題:
Pandas の to_excel() 関数を使用して既存の Excel シートに新しいデータフレームを追加すると、既存のデータが上書きされます。目標は、既存のコンテンツを維持しながら、新しいデータを現在のシートの末尾に追加することです。
解決策:
この問題に対処するには、次の手順を利用できます。
既存のものをロードワークブック:
新しいものを準備するデータフレーム:
新しいワークブック ライターを作成します:
新しいものを書くデータフレーム:
セルを新規から既存にコピーSheet:
新しいものを削除シート:
ワークブックを保存して閉じます:
例:
import pandas as pd import openpyxl from openpyxl.utils import get_column_letter # Load existing workbook workbook = openpyxl.load_workbook("existing_excel.xlsx") sheet_names = workbook.sheetnames # Prepare new dataframe new_df = pd.DataFrame({ "Name": ["Alice", "Bob", "Carol"], "Age": [25, 30, 35] }) # Create new workbook writer with pd.ExcelWriter("existing_excel.xlsx", engine="openpyxl", mode="a", if_sheet_exists="new") as writer: # Write new dataframe new_df.to_excel(writer, sheet_name="NewData", index=False) # Get worksheet objects new_sheet = writer.sheets["NewData"] existing_sheet = workbook["ExistingData"] # Get last row in existing sheet last_row = existing_sheet.max_row # Copy cells from new sheet to existing sheet copy_excel_cell_range( src_ws=new_sheet, tgt_ws=existing_sheet, src_min_row=2, src_max_row=new_sheet.max_row, tgt_min_row=last_row + 1, with_style=True ) # Remove temporary sheet workbook.remove(new_sheet) # Save and close workbook.save("existing_excel.xlsx")
このアプローチに従うと、既存の Excel シートを上書きせずに、既存の Excel シートに新しいデータをシームレスに追加できます。コンテンツ。
以上がPandas を使用して Python で既存の Excel シートに新しいデータフレームを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。