「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から株価を取得できるようになる。
コメント