Pandas を使用して既存の Excel ファイルに新しいシートを保存する
目的は、既存の Excel ファイルに複数のシートを上書きせずに書き込むことです。 data.
元のコード:
提供されたコードは、「xlsxwriter」エンジンを使用して、2 つの DataFrame を Excel ファイルの 2 つのシートに保存します。ただし、新しいシートを追加しようとすると、元のデータが失われます。
「openpyxl」エンジンの使用:
既存のデータを保存するには、「openpyxl」を使用してください。エンジン。以下のコードは、その方法を示しています。
import pandas as pd
import numpy as np
from openpyxl import load_workbookpath = r"C:UsersfedelDesktopexcelDataPhD_data .xlsx"
初期シートで Excel ファイルを作成します
x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)writer = pd.ExcelWriter(path, Engine='xlsxwriter')
df1.to_excel (writer,sheet_name='x1')
df2.to_excel(writer,sheet_name='x2')
writer.close()ワークブックをロードしてライターにアタッチします
book =load_workbook(path)
writer = pd.ExcelWriter(path, Engine='openpyxl')
writer.book = book新しいシートと DataFrame を追加します
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()
pre>コードの理解:
コードはワークシートをループします。ワークブック内でそれらをディクショナリに割り当てます。キーはシート タイトル、値はシート オブジェクトです。これにより、ライターは既存のシートを上書きせずに、新しいシートとデータを既存のファイルに追加できます。
以上がPandas を使用してデータを上書きせずに、既存の Excel ファイルに新しいシートを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。