TechNote

事務屋のおぼえがき

【Python】tabula.read_pdfで読み込めるpdfと読み込めないpdf(IndexError: list index out of range)

tabula-pyがpdf上の表をテキスト抽出できる優秀ツールであることは下記で述べたとおり。
kojikoji75.hatenablog.com
kojikoji75.hatenablog.com



だが、値を抽出するといってもOCR処理ができるというわけではなく、あくまでpdf上の「テキストとして認識できるデータ」が対象。pdfの裏側についてはここでは深追いしない。

試しに紙をスキャンして生成したpdfをtabulaに読み込ませ、printしてみる。

pdffile1="d:\複数テーブル_scan.pdf"
dfs = tabula.read_pdf(pdffile1, lattice=True , pages = 'all')
print(dfs[0])

結果

IndexError: list index out of range

dfsに何も取得できていないため、dfs[0]はインデックスエラーとなる。