Pythonでは、Excelファイルの入出力を外部ライブラリを用いて行います。なかでもよく用いられるのが「openpyxl」と「pandas」です。
「openpyxl」と「pandas」の違いとは
「openpyxl」と「pandas」のおもな違いをまとめると以下の表のようになります。
openpyxl | pandas | |
---|---|---|
データの読み書き | ◯ | ◯ |
書式の読み書き | ◯ | ✕ |
計算・データ処理機能 | ✕ | ◎ |
データの指定方法 | Excelと同じセル番地で指定 | 変換されたDataFrameオブジェクトの行と列で指定 |
「pandas」のデータを「openpyxl」で書き込む方法
「pandas」で分析したデータを「openpyxl」で書式付きのExcelファイルに書き込みたい場合もあります。そのときは、pandasのDataFrameのデータを、openpyxlのcellに代入します。
import openpyxl
from openpyxl.utils.dataframe import dataframe_to_rows
wb = openpyxl.load_workbook(file_path)
ws = wb[sheet_name]
for i, row in enumerate(dataframe_to_rows(df, header=False)):
if i == 0:
continue
ws.append(row)
wb.save(file_path)
このように、Pythonのopenpyxlとpandasを組み合わせることで、Excelデータの読み書きやデータ分析が効率的に行えます。