【问题标题】:Python - How to avoid error (Exceptions) in Pandas while still getting data ?Python - 如何在仍然获取数据的同时避免 Pandas 中的错误(异常)?
【发布时间】:2016-03-27 16:34:18
【问题描述】:

我目前正在使用 Pandas 从 yahoo 获取选项数据。它工作正常,直到有一只没有期权的股票,此时程序崩溃。我试图创建异常并让它通过但没有运气。如何让程序识别没有期权的股票并跳过?谢谢。

我得到的错误是:RemoteDataError: Data not available

这是代码(我使用了没有选项的股票进行测试--> '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

【问题讨论】:

    标签: python exception pandas dataframe yahoo-finance


    【解决方案1】:

    您可以处理从pandas_datareader._utils 导入的RemoteDataError 异常

    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
    

    【讨论】:

    • @RageAgainstheMachine 这是我正在执行的代码,它对我有用。你那边发生了什么?
    • 所以当我运行你的代码时它可以工作!!!!!!是否有可能将所有这些额外的库放在顶部搞砸了,因为当我第一次运行它时,我只是对代码进行了更改以反映您的更改...
    【解决方案2】:
    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?
    

    【讨论】:

    • @RageAgainstheMachine 从提示中粘贴您的错误消息。
    猜你喜欢
    • 1970-01-01
    • 2021-07-02
    • 2020-01-17
    • 2017-01-21
    • 2018-05-05
    • 2016-08-10
    • 1970-01-01
    • 2022-01-23
    • 2015-12-11
    相关资源
    最近更新 更多