こんにちは、かぐーです!
今回は、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にはまだまだいろんな機能がありますので、興味がある方は、ぜひ調べてみてください。かなり人気のあるライブラリになっていますので、ネットにたくさん情報があるはずです。
コメント