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

パンダはどうすれば上書きせずに既存の Excel シートにデータを追加できますか?

Linda Hamilton
リリース: 2024-12-10 16:13:12
オリジナル
351 人が閲覧しました

How Can Pandas Append Data to an Existing Excel Sheet Without Overwriting?

上書きせずに既存の Excel ファイルに書き込む: Pandas のソリューション

パンダを使用して Excel ファイルを操作する場合、上書きせずに既存のシートに書き込む既存のデータが共通の課題となる可能性があります。この問題は、パンダが新しいシートを作成して既存のデータを上書きする ExcelWriter のデフォルト動作を使用する場合に発生します。

この問題を回避するには、ExcelWriter の「engine」パラメータを利用して、基礎となる Excel エンジンを指定できます。このパラメータを「openpyxl」に設定すると、openpyxl の機能を pandas に統合できます。

問題に対処するコードは次のとおりです。

import pandas
from openpyxl import load_workbook

# Load the existing Excel workbook
book = load_workbook('Masterfile.xlsx')

# Create an ExcelWriter object using the openpyxl engine
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')

# Set the ExcelWriter's book attribute to the loaded workbook
writer.book = book

# Assign sheet names to the writer object's sheets attribute
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

# Write data to the existing sheet
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])

# Save the updated workbook
writer.save()
ログイン後にコピー

「openpyxl」エンジンを指定すると、変更されたこのコードは、ワークブック内の既存のシートにアクセスする openpyxl の機能を利用します。これにより、パンダは他のタブを上書きせずに「メイン」シートにデータを追加できるようになります。

次の場合に新しいシートが作成されないようにするため、このコードを実行する前に元のワークブックに「メイン」シートが存在することを確認する必要があることに注意してください。シートが存在しません。

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

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