2016-10-14 2 views
0

Я пытаюсь использовать pandas для загрузки исторических данных о запасах для всех акций Stockholm Large Cap. Он отлично работает, но для некоторых запасов это не так.Символ Предупреждение: Не удалось прочитать замену символа с помощью 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

использование try и except

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: NameError: имя« RemoteDataError »не определено». – simtaxman

+0

попробуйте новую версию, если она не работает, удалите RemoteDataError –

+0

Это не сработало с RemoteDataError, и когда я удалил его, он не нашел ни одного тикера, даже те, которые работают раньше. – simtaxman