pagetakaBlog

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

東証株式相場表:PDFMinerで解析しMySQLへの流れ(1)

東証株式相場表(日報、PDF)は手ごわかった

東京証券取引所日報 | 日本取引所グループに掲載されている「株式相場表」(PDF)を利用したいと考えました。

Pythonで、(1)東証サイトからPDFをDL、(2)「PDFMiner」で解析しCSV保管、(3)CSVを「LOAD DATA INFILE」でMySQLへ書き込む、という大まかな流れです。

【爺のPC内でのイメージ、作業工程】
【爺のPC内でのイメージ、作業工程】

できあがったCSVファイルの容量が日ごとに大きく異なり、解析ができてないことがわかりました。PythonスクリプトのPDFMiner設定や「正規表現」「replace」などを見直し、現在ではほぼ解決できたと思っています(怪しい…)。

MySQLへ書き込んだ結果の一部が、元データとなるCSVと一致しないこともわかりました。3桁区切りコンマ「,」処理と、MySQLテーブルの項目設定で齟齬が生じていた結果と分かり、「,」処理タイミング、MySQLテーブルの調整を行い、なんとか大丈夫、という状態です。爺の「妄信」という可能性もありますので、ご注意のほど。

「手ごわかったこと」は、ほかにもかなりありました。PDFを解析するのはなかなか難しいことだと改めて実感しています。後続記事で必要に応じて触れる予定です。

作業するPCの問題

現在爺が使っているPCは、Windows11HOME, i5-9600K, 32GBメモリ, 512GB SSDです。今回作業ではほぼ問題なく動きました。一方、古いCeleron、4GBメモリ、512GBSSDで動かしたら、かなり苦しい状態でした。XAMPPなどをインストールし問題なく動くのを確認してから使うほうが良さそうです。

IDEはVSCodeを使いました

統合開発環境(IDE)は、VSCodeをインストールし使いました。condaベースのPython3.7をインストールし使っています。作成したPythonスクリプト・ファイルをどこに置くかなどチョット悩みましたが、何回か試して成功。

GUIを作らず(本当は「作れない」)、ターミナル画面でのコマンド打ちでなく(本当は「ターミナル使えない」)、VSCodeの「実行とデバッグ」でスクリプト動かしてます(本当は「VSCodeスクリプト表示の右上にある▷を使ってる」)。爺の実力悲しすぎる低レベル……。

ここまで読んで、「へぇ~その程度で記事書くの」「あ~わかるぅ~」「半分くらいしか想像できん」「データベース知らんし」「PC、力不足かも」などさまざまな感想がおありかと存じます。爺の備忘録・戯言・妄言とお許しのほど。よろしかったら、コメント欄になにかハゲマシを書いてくださいませ。

つづく…おそらく。