Pythonモジュールpandas-datareaderで株価が取得できなくなったときの解決方法

株価を取得するPythonモジュール『pandas-datareader』を使おうとしたとき,今まで使えたのにも関わらず,ある日突然使えなくなっていました.

結論から言うと,モジュールをアップデートするだけで解決しました.

つまり,pandas-datareaderは今も問題なく使用できます.Pythonで株価を取得したい場合は,以下の記事をご覧ください.

今回は,pandas-datareaderが使えなくなっていた場合の解決方法について述べたいと思います.

そもそもpandas-datareaderをインストールしていなければ使えないので,上の記事を読んで事前にインストールしてくださいね.

解決方法 1 : モジュールをアップデートする

私の場合は,これが原因でした.

というか,見たことないエラーが出たときに一番初めに疑うポイントはココだと思います.

ということで,まずはモジュールをアップデートしましょう.

…そのまえに,念のためにpip自体をアップデートしておくと良いでしょう.

pipのアップデート

pip install --upgrade pip

では,pandas_datareaderをアップデートしましょう.

pip install -U pandas_datareader

pandas-datareaderのようなAPIに依存する(この場合,株価データベースに依存する)場合は,APIに合わせてモジュールをアップデートしていなかなければならないので厄介ですよね(つまり,ローカルのソースコードだけでは何ともならない).

解決方法 2 : pandasだけで株価を取得する

モジュールをアップデートしたり,ソースコードを見直しても直らない場合は,そもそもpandas_datareaderを使うことをやめてしまうのも一つの解決方法です.

以下の記事を読んで,pandasでurlを直接呼び出して,株価を取得しましょう.

また,正常に株価を取得できるときにローカルなどにデータを保存して,そこを読むようにしておくと何かと便利です.もちろん,定期的にデータのアップデートが必要になりますが,モジュールが使えなくなったときにそれを利用できますし,何より毎回API経由で株価を取得すると遅かったりAPI先のサーバーに負荷がかかります.