※このページではアフィリエイト広告を利用しています

【Python応用】PythonとPandas-データごとにExcelの別シートに書込みする方法-

Python

ここではPandasにおけるExcel(.xlsx)ファイルへの書込み時、データごとに別シートに追記する方法について解説しています。

スポンサーリンク
スポンサーリンク

行ったこと

Pandasにおいて、Excelファイルにデータを書込み際、データごとにシートを変えて書込みを行いました。

以下のプログラムは任意のデータごとにシートを別けて書込むものになります。

プログラム

import openpyxl
import csv
import pandas as pd
#1---データ1
f1 = pd.DataFrame({
"num":[0,1,2,3,4,5],
"type":["m","f","m","f","f","m"],
"flag":["_","|","_","|","|","_"]
})
#2---データ2
f2 = pd.DataFrame({
"num":[6,7,8,9,10,11],
"type":["m","f","m","f","f","m"],
"flag":["_","|","_","|","|","_"]
})
#3---保存ファイルの指定
excel_writer = "test.xlsx"
#4---出力するファイル名を'***.xlsx'としてwriterを定義
writer = pd.ExcelWriter(excel_writer,engine = 'xlsxwriter')
#5---データごとに書込み実行
f1.to_excel(writer,sheet_name = "f1")
f2.to_excel(writer,sheet_name = "f2")
#6---Excelファイルを保存
writer.save()
#7---Excelファイルを閉じる
writer.close()

上記がプログラムになります。

それでは解説していきます。

#1---データ1
f1 = pd.DataFrame({
"num":[0,1,2,3,4,5],
"type":["m","f","m","f","f","m"],
"flag":["_","|","_","|","|","_"]
})
#2---データ2
f2 = pd.DataFrame({
"num":[6,7,8,9,10,11],
"type":["m","f","m","f","f","m"],
"flag":["_","|","_","|","|","_"]
})

1、2が書込むデータになります。

#3---保存ファイルの指定
excel_writer = "test.xlsx"

3の部分では保存するファイル名を指定しています。

#4---出力するファイル名を'***.xlsx'としてwriterを定義
writer = pd.ExcelWriter(excel_writer,engine = 'xlsxwriter')

4の部分ではExcelWriterを宣言しています。また、引数にファイル名、書込むエンジンを指定しています。

#5---データごとに書込み実行
f1.to_excel(writer,sheet_name = "f1")
f2.to_excel(writer,sheet_name = "f2")

5の部分ではデータごとに書込みを指定しています。引数にxlsxwriter、シート名を指定しています。

#6---Excelファイルを保存
writer.save()

6の部分ではExcelファイルを保存しています。

#7---Excelファイルを閉じる
writer.close()

7の部分ではExcelファイルを閉じています。

結果

f1、f2のシートが生成されて、データが書込まれていることが確認できました。

タイトルとURLをコピーしました