PythonのExcelライブラリ「openpyxl」の紹介

2019 年 10 月 7 日 by masy

最近業務で使用した「openpyxl」というPythonライブラリを紹介します。

「openpyxl」はPython言語でExcelの読み書きを行うためのオープンソースのライブラリです。
現在も開発が続けられており、2019/09/25にバージョン3.0.0がリリースされています。

 

インストール方法

多くのPythonライブラリと同様にpipでインストールできます。

pip install openpyxl

 

既存のExcelファイルからデータを取得する例

簡単なサンプルとして、Excelファイルからデータを取得してファイルに書き出す例を見てみましょう。
このような単純なプログラムであれば数行のコードで実現できます。

import openpyxl

# 既存のExcelワークブックの読込
wb = openpyxl.load_workbook(filename='input.xlsx')
# 読込対象のExcelシートを指定
ws = wb['TargetSheet']

# 全セルの値をファイル(result.txt)に出力
with open('result.txt', 'w', encoding='utf-8') as f:
    for row in ws:
        for cell in row:
            f.write(str(cell.value) + '\n')

例では対象シートの全てのセルの値を出力していますが、実際に使用する際は特定のセルや行列だけ出力したい場合がほとんどだと思います。
その場合は、セル範囲や行・列番号、名前の定義の参照範囲等でセルを指定することも可能です。

 

私が業務で使用した際は、Excelファイルを元データとして大量のファイルを作成する作業を自動化しました。それにより、従来数時間かかっていた作業が数分で終わるようになりました。
このようにExcelファイルから情報を転記するケースは多いと思いますので、思い当たる方はぜひopenpyxlによる自動化にトライしてみてください。

タグ: , , ,

TrackBack