pandas morningstar API

时间:2018-05-23 01:49:42

标签: python pandas-datareader

以下是我使用带有morningstar API的DataReader获取股票“TSLA”的价格

import pandas_datareader.data as web
df = web.DataReader('TSLA', 'morningstar', start, end)

但是,如果我为DataReader的创建者的第一个参数输入了错误的自动收报机,那么Python就会继续运行该行。

如何检查第一个参数是否正确输入了滚动条?

1 个答案:

答案 0 :(得分:1)

当我使用无效的自动收报机代码运行代码时,我遇到了与Python解释器挂起的相同问题。我没有找到一个完全整洁的解决方案,但根据我在github(link here)上阅读的一些相关问题报告,我提出了一个答案,可以阻止python解释器挂起如果您输入无效的股票代码。

密钥似乎是将retry_count的{​​{1}}参数设置为零。

我在下面有一个完全可重现的代码段:

pandas_datareader.data.DataReader()

预期输出:

import pandas_datareader
import datetime

start = datetime.datetime(2018, 5, 1)
end = datetime.datetime(2018, 5, 30)

def get_data(ticker):
    try:
        df = pandas_datareader.data.DataReader('%s' % (ticker), 'morningstar', start, end, retry_count=0)
        print(df.tail(5))
    except ValueError:
        print('Ticker Symbol %s is not available!' % (ticker))

get_data('TSLA') #valid Symbol
get_data('yyfy') #not a valid Symbol
get_data('AAPL') #valid Symbol
get_data('QQQQ') #not a valid Symbol