Python xlrd
ライブラリ完全ガイド
Python の xlrd
ライブラリは、Excel ファイル(.xls)の読み取り専用ライブラリです。主に旧形式の Excel(2003 以前)ファイルのデータ取得に使用されます。本記事では、xlrd
の基本的な使い方と注意点を紹介します。
1. xlrd
ライブラリの概要
.xls
(Excel 97-2003)形式のファイル読み取り専用です。.xlsx
形式には 2.0.0 以降のバージョンでは非対応。- 書き込み機能はなく、読み取りのみ可能です。
インストール方法
pip install xlrd==1.2.0
📌 xlsx
を読みたい場合は openpyxl
を使いましょう。
2. 主な機能と使用例
(1) Excel ファイル(.xls)の読み込み
import xlrd book = xlrd.open_workbook("sample.xls") sheet = book.sheet_by_index(0) print(sheet.name)
(2) シート名の取得と選択
print(book.sheet_names()) sheet = book.sheet_by_name("Sheet1")
(3) セルの値を取得する
value = sheet.cell_value(rowx=0, colx=0) print(value)
(4) 行・列のデータ取得
row = sheet.row_values(0) col = sheet.col_values(1) print(row) print(col)
(5) シートの行数と列数を取得
print(sheet.nrows) print(sheet.ncols)
(6) すべてのセルをループで取得
for row_idx in range(sheet.nrows): for col_idx in range(sheet.ncols): print(sheet.cell_value(row_idx, col_idx))
(7) データ型の確認(cell_type)
ctype = sheet.cell_type(0, 0) print(ctype) # 0=empty, 1=text, 2=number, etc.
(8) 日付データの扱い(xldate_as_tuple)
from datetime import datetime from xlrd.xldate import xldate_as_tuple date_value = sheet.cell_value(1, 2) date_tuple = xldate_as_tuple(date_value, book.datemode) date = datetime(*date_tuple) print(date)
(9) エラー処理:ファイル形式確認
try: book = xlrd.open_workbook("data.xlsx") except xlrd.biffh.XLRDError: print("xlsx形式には対応していません")
(10) ファイルが存在しない場合の対処
import os filename = "sample.xls" if os.path.exists(filename): book = xlrd.open_workbook(filename) else: print("ファイルが見つかりません")
3. xlrd
の主な機能まとめ
機能 | 説明 |
---|---|
.xls ファイル対応 |
Excel 2003 形式専用の読み取りライブラリ |
シートの読み取り | インデックスまたは名前で取得可能 |
セルの操作 | 値取得、型取得、行・列の一括取得 |
日付データ対応 | xldate_as_tuple で datetime に変換可能 |
まとめ
xlrd
は古い Excel ファイル(.xls)のデータを扱う際に非常に便利です。現在では xlsx
の読み込みには openpyxl
や pandas
を使用することが推奨されますが、レガシーデータ対応には xlrd
の知識も欠かせません!