Pythonでは、Excelファイルの入出力を外部ライブラリを用いて行います。なかでもよく用いられるのが「openpyxl」と「pandas」です。

openpyxlとpandasの違い

「openpyxl」と「pandas」の違いは、それぞれのライブラリが目指す目標にあります。

  • 「openpyxl」はExcelの標準規格でファイルを読み書きするためのライブラリです。罫線、フォント、背景色などの書式も含めて、Excelファイルをそのまま読み書きできます。
  • 一方、「pandas」は配列をベースとしたデータ操作・分析のためのライブラリです。Excelシートは表形式のデータなので、pandasで読み込むと「DataFrame」というオブジェクトが作成され、データはその中に2次元配列として収められます。

pandasのDataFrameをopenpyxlで書き込む

pandasで処理したデータを、書式付きのExcelファイルに書き込みたい場合は、保存のときだけ「openpyxl」を使います。以下にその例を示します。

import openpyxl
from openpyxl.utils.dataframe import dataframe_to_rows

wb = openpyxl.load_workbook(file_path)
ws = wb.create_sheet(title=sheet_name)

ws.append(['Date', 'Open', 'Close', 'High', 'Low'])

for i, row in enumerate(dataframe_to_rows(df, header=False)):
    if i == 0:
        continue
    ws.append(row)

wb.save(file_path)

このコードは、pandasのDataFrameからデータを取得し、それを新しいExcelシートに書き込むものです。

以上、PythonでExcel操作を行う際の「openpyxl」と「pandas」の使い方について解説しました。これらのライブラリを適切に使い分けることで、PythonでのExcel操作がより効率的になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です