2017-08-03 3 views
-2

Voici mon codeObtenir cette erreur en essayant de récupérer les données de Pandas DataReader

def competitor_stock_data_report(): 
    import datetime 
    import pandas_datareader.data as web 

    date_time = datetime.datetime.now() 
    date = date_time.date() 

    stocklist = ['LAZ','AMG','BEN','LM','EVR','GHL','HLI','MC','PJT','MS','GS','JPM','AB'] 
    start = datetime.datetime(date.year, date.month, date.day) 
    end = datetime.datetime(date.year-1, date.month, date.day) 

    for x in stocklist: 
     df = web.DataReader(x, 'google', start, end) 
     print(df['Close'].tail(n=1)) 
     print(df['Close'].head(n=1)) 

Quand j'importer la date statiquement, cela devrait fonctionner.

C'est l'erreur que je reçois:

File "pandas\_libs\parsers.pyx", line 565, in pandas._libs.parsers.TextReader.__cinit__ (pandas\_libs\parsers.c:6260) 
pandas.errors.EmptyDataError: No columns to parse from file 

Comment puis-je résoudre ce problème?

Répondre

1

Votre date end est avant la date start:

start = datetime.datetime(date.year, date.month, date.day) 
end = datetime.datetime(date.year-1, date.month, date.day) 

il devrait être:

start = datetime.datetime(date.year-1, date.month, date.day) 
end = datetime.datetime(date.year, date.month, date.day)