pagetakaBlog

最近リフォームと鳥取県日南町の記事多め。写真、PC、ネット等の話題も

Python:「PDFMiner」と「PDFMiner.six」で東証株式相場表を解析

「PDFMiner」で東証株式相場表(日報、PDF)を解析しかけたら…エラー表示、止まった…。

pagetaka.hatenablog.jp

今朝、 東証株式相場表(日報、PDF)を「PDFMiner」をくみこんだPythonスクリプトで解析しようとしたら、エラーが出て止まりました。その顛末記です。

止まったPythonスクリプト

関係するところだけピックアップすると…。

from pdfminer.layout import LAParams
lprms = LAParams(boxes_flow=None)   # LAParamsオブジェクト取得 ※パラメタFalseだと狂う
device = TextConverter(rmgr, outfp, laparams=lprms)    # TextConverterオブジェクト取得

PDF単頁の文字の並び、テキストボックスなどで、爺の設定を受け付けなくなった、ということかと…。もともと、「boxes_flow=None」では、警告エラーがでてました。


VSCodeつかった作業で、これ以前に、あったことと言えば

  • conda baseの Pythonバージョンを3.9.13にupgradeした
  • VSCodeがPython, Pylance, Jupyter, isort などで「再読み込み」をするようにと表示したので、数回実行

…などの記憶があります。どこかで齟齬が生じたんでしょうかね…爺にわかるはずもありませぬが。

対策:失敗=「PDFMiner」入れなおす

VSCodeのターミナル画面で次のように打ちました。

pip uninstall pdfminer

(削除が進み、完了したとの表示)

pip install pdfminer

(改めてのインストール進行、完了表示)

エラー消えませんでした。

対策:成功=「PDFMiner.six」をインストール

VSCodeのターミナル画面で次のように打ちました。

pip install pdfminer.six

(インストール進行、完了表示)

pip list

(pip経由でインストールしたのがズラリと表示される、以下部分表示)
pdfminer                      20191125
pdfminer.six                  20220524

ふたつ入っているのがわかります。すると、Pythonスクリプトで波線が表示されていたエラー表示の箇所、波線が消えました。Pythonスクリプト動かしたら軽快に動きました。解析スピードアップ?

余談:「pdfminer.six」だけだとどうも動かないのか…よくわからないけど。

爺、早合点しまして、ならば先に入っている「pdfminer 」は消しても大丈夫だろうというようなつもりで uninstall しました。ダメでした。「pdfminer.six」だけだと塩梅悪いみたいです。依存関係があるんでしょうか…。

で、改めて「pdfminer 」したんですけど、NG…えええええっ。
しかたなく、VSCodeターミナル画面で次のように順々にやってみました。

pip uninstall pdfminer.six
pip install pdfminer
pip install pdfminer.six

先に「pdfminer」をインストールした状態に、「pdfminer.six」を追加でインストールする、というようなイメージです(※効果を保障するものではありません。個人の感想です)。