2016-03-27 36 views
1

我目前在使用熊貓從雅虎獲取選項數據。它工作正常,直到有沒有選項的股票,此時程序崩潰。我試圖創建異常,只是讓它通過,但沒有運氣。我怎樣才能讓這個程序識別沒有選擇的股票並跳過?謝謝。Python - 如何避免熊貓錯誤(例外),同時仍然獲得數據?

我得到的錯誤是這樣的:RemoteDataError:無數據可供

下面的代碼(我用了一個股票不帶任何選項進行測試 - > 'GHC'):

from pandas_datareader.data import Options 
import pandas as pd 
from pandas import DataFrame 
import datetime 
import csv 
import time 
import sys 

tickers = ['GHC'] 

for i in tickers: 
option = Options(i,'yahoo') 
data = option.get_all_data() 

try: 
    print data.head 

except AttributeError: 
    pass 

except RemoteDataError: 
    pass 

回答

2

可以處理RemoteDataError例外pandas_datareader._utils進口:

from pandas_datareader._utils import RemoteDataError 
from pandas_datareader.data import Options 

tickers = ['GHC'] 

for i in tickers: 
    try: 
     option = Options(i, 'yahoo') 
     data = option.get_all_data() 
    except RemoteDataError: 
     print("No information for ticker '%s'" % i) 
     continue 
+0

仍然不起作用... – RageAgainstheMachine

+0

@RageAgainstheMachine它是我正在執行的代碼,它適用於我。你最終發生了什麼? – alecxe

+0

所以當我運行你的代碼它的作品!!!!!是否有可能讓頂部的所有額外庫都搞砸了,因爲當我第一次運行它時,我只是對代碼進行更改以反映您的更改...... – RageAgainstheMachine

1
for i in tickers: 
    try: 
     option = Options(i,'yahoo') 
     data = option.get_all_data() 
    except RemoteDataError: # Add here correct expectation type... 
     continue # What to do with 'i' and 'data', nulls? 
+0

仍然無法正常工作.... – RageAgainstheMachine

+0

@RageAgainstheMachine從提示中粘貼您的錯誤消息。 –