PythonでExcelを読み込む(xlrd)
たくさんのExcelファイルから、それぞれのあるセルにあるデータを取り出してくる必要ができました。
VBAとかでやるのが筋なのかもしれませんが、Pythonで気軽にできないか調べてみることに。
以前PyExceleratorというライブラリがあったことを思い出して調べてみると、
最近は更新が停止されていて、xlrd, xlwtというライブラリを使うのが良いみたい。
公式サイトのPython Excelにpdfでまとめられたチュートリアルがあります。
かなり詳細に書いてあるので、わかりやすいです。
これを参考にインストールからやってみます。
概要
Excelを操作するパッケージとして以下の3つが用意されています。
- xlrd
- xlwt
- xlutils
xlrdが読み込み操作、xlwtが書き込み、xlutilsが既にあるExcelファイルをいじるなどのユーティリティを集めたものだそうです。
今回はxlrdのみ使います。
結構いろいろなことができるようですが、とりあえず今必要なセルの中身を読み込む操作だけやってみます。
インストール
easy_installを使って簡単にインストールできます。
easy_install xlrd
で完了です。
セルの読みだし
簡単なので、サンプルをちょっと改良するだけでできます。
わかりやすくて使いやすいですね。
import xlrd # open_workbook関数でファイルから読み込みます。 wb = xlrd.open_workbook('test.xls') # シートの情報を取得。 # wb.sheets()の返り値はシートの情報の入ったリスト sheets = wb.sheets() # シート1を使う s = sheets[0] # セルのオブジェクトを取得 c = s.cell(3, 2) # セルのオブジェクトを操作して情報を取得 print c.value
こんな感じで簡単に読みだせました。