2017-08-16 4 views
0

"pandas_datareader"のget_data_yahooメソッドを使用して在庫データを取得しようとしていたので、次のようにテストしました。 Yahoo APIに問題があることを知ったので、hereの指示に従って「fix_yahoo_finance」モジュールとyf.pdr_override()を追加しました。"pandas_datareader"の "get_data_yahoo"が空のDataFrameを返します

from pandas_datareader import data as pdr 
import fix_yahoo_finance as yf 
from datetime import datetime 

yf.pdr_override() 
a = pdr.get_data_yahoo('AAPL', start=datetime(2017, 8, 13), end=datetime(2017, 8, 14)) 
b = pdr.get_data_yahoo('AMZN', start=datetime(2017, 8, 13), end=datetime(2017, 8, 14)) 
c = pdr.get_data_yahoo('MSFT', start=datetime(2017, 8, 13), end=datetime(2017, 8, 14)) 
print(a) 
print(b) 
print(c) 

しかし、私は上記のコードを実行したときに、時々株が取得できませんでした、それは以下に示すようempytyある一つまたは二つのデータフレーム(または3つすべて)をもたらしました。 enter image description here enter image description here 最初のピクチャでは最初のピクチャのみがフェッチされ、2番目のピクチャでは2番目のピクチャがフェッチされます。
私はさまざまなティッカーを試して何度も走っていましたが、これはランダムなパターンのようです。誰が何が起こっているのか分かっていますか?モジュールが再び壊れたのか、それとも私が最後に解決できるものなのでしょうか?前もって感謝します。

答えて

0

私は今ここで起こって正確な問題を診断するが、ここでの回避策であることはできません。

stock_list = ['AMZN', 'MSFT', 'AAPL'] 
stock_dict = {} 
for stock in stock_list: 
    dim = (0,0) 
    while dim != (1,6): 
     s = pdr.get_data_yahoo('MSFT', start="2017-08-13",end="2017-08-14") 
     dim = s.shape 
    stock_dict[stock] = s 
関連する問題