2017-03-01 3 views
0

Ich versuche, Daten über einige schwedische Firmen und mit Python- und Yahoo-Finanzierung zu schnappen. Wenn ich zu einem gewissen Ticker wie KIND-SDB.ST bekommen bekomme ichSetzen Sie fort, Yahoo Finance zu fragen, nachdem eine Bestandsdatenanforderung zurückgewiesen wird

RemoteDataError: Unable to read URL: http://ichart.finance.yahoo.com/table.csv?a=1&ignore=.csv&s=KIND-SDB.ST&b=1&e=1&d=2&g=d&f=2017&c=2017 

Wie erhalte ich Yahoo Finance, diese Daten zu schnappen, und wenn ich nicht kann, wie gehe ich mit dem Rest der Liste der tickers obwohl man ist korrupt?

Mein kleines Skript sieht wie folgt aus:

start = datetime.date(2017,2,1) 
end = datetime.date.today() 


my_stocks = ['NEPA.ST','EVO.ST','KIND-SDB.ST','EVO.ST','ATCO-B.ST','KINV-B.ST','NDA-SEK.ST','SAND.ST','GRNG.ST','JM.ST','SAAB-B.ST','STAR-B.ST','ASSA-B.ST','INVE-B.ST','INDU-C.ST','SKF-B.ST'] 

pylab.rcParams['figure.figsize'] = (10, 4) # Change the size of plots 



def stockplotter(ticker,start,end,numb): 
    stock = pdr.get_data_yahoo(ticker,start,end) 
    plt.figure(numb) 
    stock["Adj Close"].plot(grid = True) 
    plt.title(ticker) 
    plt.ylabel('[email protected]') 
    numb+=1 

numb = 1 
for i in my_stocks: 

    stockplotter(i, start, end, numb) 
    numb += 1 

Antwort

0

Um weiterhin die API-Abfrage, nachdem ein Fehler ausgelöst wird, müssen Sie die Ausnahme catch and handle.

def stockplotter(ticker,start,end,numb): 
    try: 
     stock = pdr.get_data_yahoo(ticker,start,end) 
    except RemoteDataError: 
     pass 

    plt.figure(numb) 
    stock["Adj Close"].plot(grid = True) 
    plt.title(ticker) 
    plt.ylabel('[email protected]') 
Verwandte Themen