簡単にPythonでExcelを操作するopenpyxlの使い方

Excel操作

こんにちは、かぐーです!

今回は、PythonでExcelを操作するライブラリopenpyxlを紹介したいと思います。

この記事では、openpyxlのExcel操作の基本である「セルを読み込む」「セルに書き込む」という2つのやり方をご紹介します。

もちろん、openpyxlにはほかにもいろんな機能がありますが、上記2つの方法を知っておくだけでも、普段の業務をかなり効率的に自動化できるはずです。

openpyxlの導入から実際にExcelブックを操作するまでの方法を全て説明しますので、ぜひ読みながらチャレンジしてみてください。

※Pythonの基本的な使い方や構文は知っていることを想定していますので、そのあたりについては省略します。

openpyxlとは?

pythonでExcelを操作するためのライブラリです。Python Package Index(PyPI)で配布されていて、誰でも簡単に無料で使うことができます。

Excelソフトを立ち上げずにExcelブックを開いて中身を確認・編集・保存することができます。つまり、高速でいくつものExcelブックを操作することができるのです。

openpyxlのインストール方法

標準ライブラリではないので、追加でインストールする必要があります。多くのpythonライブラリ同様に、pip installでインストールできます。
コマンドプロンプトを立ち上げて、「pip install openpyxl」を実行すれば完了です。

後は、pythonのプログラムコードを書く際に、「import openpyxl」と書けば、使うことができます。

openpyxlでセル内容を読み込む方法

ここでは、「test1.xlsx」という名前のブックを開いて、「Sheet1」シートのA1セルの値をprint文で出力するプログラムを書いてみます。

なお、Sheet1のA1セルには次のように「100」が入力されています。

以下がサンプルコードになります。

import openpyxl

wb = openpyxl.load_workbook('test1.xlsx')
ws = wb['Sheet1']
a = ws['A1'].value

print(a)
# 出力結果:
100

このように非常に簡単に読み込むことができです。

3行目では、load_workbookでブックを読み込んで、変数wbに代入しています。引数にはブックのファイルパスを指定しています。
4行目では、ブックの「Sheet1」シートを、変数wsに代入しています。
5行目では、「Sheet1」シートのA1セルの値を変数aに代入しています。

ただし、注意しなければならないことがあります。
プログラムを実行するときには、対象のブックを閉じておいてください。開いた状態で実行するとエラーになってしまいます。

openpyxlでセルに書き込む方法

今度は、セルに値を書き込んでみましょう。

「test1.xlsx」のA2セルに「200」という値を代入してみます。
以下がサンプルコードになります。

import openpyxl

wb = openpyxl.load_workbook('test1.xlsx')
ws = wb['Sheet1']
ws['A2'].value = 200

wb.save('test1.xlsx')

test1.xlsxを開いてみると、次のようにA2セルに「200」が入力されています。

5行目で、「Sheet1」シートのA2セルに「200」を入力しています。
7行目では、変数wbに入れたブックを「test1.xlsx」という名前で保存しています。このとき、開いたブックと同じ名前で保存しているので、実質的に上書き保存していることになります。

まとめ

今回は、pythonのライブラリopenpyxlでブックを操作する方法を解説しました。
「セルの値を読み込む」「セルを書き込む」という2つだけの技術でも、応用すればかなり業務の効率化を図れると思います。

もちろん、openpyxlにはまだまだいろんな機能がありますので、興味がある方は、ぜひ調べてみてください。かなり人気のあるライブラリになっていますので、ネットにたくさん情報があるはずです。

コメント

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