【Python】「pandas_datareader」でYahooから株価を取得できないエラーの対応

Python_log Python
スポンサーリンク

「pandas_datareader」の「DataReader」関数でYahooから株価を取得するときにエラーが起きるようになった。

 

「pandas_datareader」を使って株価取得を行ってみる。

※以下、Jupyter labからコマンドを実行

# pandas_datareader(data)をインポート
from pandas_datareader
# Yahooからトヨタ自動車の株価を取得
df = pandas_datareader.DataReader("7203.jp", "yahoo")

 

すると以下のようなエラーが出る。

TypeError: string indices must be integers

 

以前までは動作していたのだが、動かなくなった。

 

対処法

「yfinance」というライブラリがあるようなので、これを利用する。

from pandas_datareader
# 「yfinance」をインポート
import yfinance as yf
# 「pandas_datareader」の処理をオーバーライド(更新)する
yf.pdr_override()

 

使用する関数も以下のように変更する

# df = pandas_datareader.DataReader("7203.jp", "yahoo")
df = pandas_datareader.data.get_data_yahoo("7203.T")
# 株価コードの後ろに ".T" をつける

 

これでYahooから株価を取得できるようになる。

 

 

コメント

タイトルとURLをコピーしました