J'ai une fonction python getstock()
qui extrait les données du marché pour les entreprises aléatoires de yahoo pour analyse. De temps en temps, à un moment donné dans le script, si ma fonction entre dans une entreprise que Yahoo Finance ne reconnaît pas, je vais l'erreur suivante:Erreur lors de la gestion de Python avec IF
Traceback (most recent call last):
File "<pyshell#65>", line 8, in <module>
stockhistory=pandas.io.data.get_data_yahoo(stock, start=datetime(1900,1,1), end=datetime(2014,1,1))
File "/usr/lib/python2.7/dist-packages/pandas/io/data.py", line 405, in get_data_yahoo
adjust_price, ret_index, chunksize, 'yahoo', name)
File "/usr/lib/python2.7/dist-packages/pandas/io/data.py", line 351, in _get_data_from
hist_data = src_fn(symbols, start, end, retry_count, pause)
File "/usr/lib/python2.7/dist-packages/pandas/io/data.py", line 200, in _get_hist_yahoo
return _retry_read_url(url, retry_count, pause, 'Yahoo!')
File "/usr/lib/python2.7/dist-packages/pandas/io/data.py", line 177, in _retry_read_url
"return a 200 for url %r" % (retry_count, name, url))
IOError: after 3 tries, Yahoo! did not return a 200 for url 'http://ichart.finance.yahoo.com/table.csv?s=LE&a=0&b=1&c=1900&d=0&e=1&f=2014&g=d&ignore=.csv'
Cela peut être résolu en utilisant simplement une autre société (rappel de la fonction).
Ma question est: Comment puis-je écrire une instruction if qui indique effectivement "Si l'erreur ci-dessus se produit, exécutez à nouveau la fonction getstock()
".