2016-10-14 14 views
0

ストックホルムの大型株の過去の株価データをダウンロードするためにパンダを使用しようとしています。それはうまく動作しますが、一部の株式についてはそうではありません。SymbolWarning:NaNで置き換えられたシンボルの読み取りに失敗しました

import pandas_datareader.data as pdr 
import datetime 
import csv 

with open('stockholm_largecap.csv', 'rb') as f: 
    reader = csv.reader(f) 
    stockholmLargeCap = list(reader) 

start = datetime.datetime(1970, 1, 1) 
end = datetime.datetime.today(); 

stockData = {} 

for symbol in stockholmLargeCap: 
    f = pdr.DataReader(symbol, 'yahoo', start, end) 
    print f 

stockholm_largecap.csvはアルファベット順に全株式が含まれていますが、私は私が(たとえばBETS-B.ST用)を取得、特定の株式を取得後:SymbolWarning:シンボルの読み込みに失敗しました:「BETS-B.ST」 NaNで置き換えます。スクリプトは終了します。エラーを無視していくつかの株式が働いていない原因は何か、そのプログラムを続ける方法はありますか?

raise RemoteDataError(msg.format(self.__class__.__name__)) 
pandas_datareader._utils.RemoteDataError: No data fetched using 'YahooDailyReader' 
+1

は、あなたが得るエラーをコピーするので、私たちはとValueErrorは申し訳ありませんが、質問にこれを追加しました –

+0

上げているかを見ることができます。 – simtaxman

答えて

1

使用tryexcept

import pandas_datareader.data as pdr 

for symbol in ['SPY', 'holla']: 
    try: 
     f = pdr.DataReader(symbol, 'yahoo', "2001-01-01", "2010-01-01") 
     print f.head(5) 
    except: 
     print ('did not find: '+symbol) 

       Open  High  Low Close Volume Adj Close 
Date                
2001-01-02 132.0000 132.1562 127.5625 128.8125 8737500 95.2724 
2001-01-03 128.3125 136.0000 127.6562 135.0000 19431600 99.8488 
2001-01-04 134.9375 135.4687 133.0000 133.5468 9219000 98.7740 
2001-01-05 133.4687 133.6250 129.1875 129.1875 12911400 95.5497 
2001-01-08 129.8750 130.1875 127.6875 130.1875 6625300 96.2893 
did not find: holla 
+0

質問にRemoteDataError(正しく仮定したもの)を追加しました。今は "RemoteDataError: "という名前のエラーを受け取りました。名前 'RemoteDataError'が定義されていません "。 – simtaxman

+0

新しいバージョンを試してみてください。RemoteDataErrorを削除してください。 –

+0

RemoteDataErrorでは動作しませんでした。削除したときに、以前に動作していたティッカーもありませんでした。 – simtaxman

関連する問題