仅在某些有效时查询数据

时间:2017-08-15 15:10:08

标签: python pandas exception quandl

我一直在玩Quandl数据库,我想写一段代码,通过他们所有的免费股票价格图表并将其放入Pandas数据库。我创建了一个在纽约证券交易所上市的每个股票的股票代码,但是Quandl只允许免费访问一些股票,因此我的查询涉及很多无效数据,这会导致异常。我正在尝试做的是以一种方式处理异常,如果Quandl上的库存可用,它将进入数据库,如果没有,代码只是简单地传递它而不做任何事情。到目前为止,这是我的代码:

    countries = pd.read_html('http://www.nationsonline.org/oneworld/country_code_list.htm')
real_countries = countries[2]
for abbv in real_countries[3]:
    query = 'UNAE/GVAKD_'+str(abbv)

try和except语句应该是什么样的?

1 个答案:

答案 0 :(得分:0)

我认为这里有一些直接的问题。

ExcelWorksheet

从列表中返回单个值。例如,

real_countries = countries[2]

返回

countries = ['spain', 'france', 'uk']
real_countries = countries[2]
real_countries

因为它是列表中的0 1 2位置。然后调用

'uk'

返回

real_countries[3]

因此很难理解你的目标。

我认为你想要的是:如果列表中的值然后字符串+值为new_list

所以我们可以这样做:

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-12-32ebd2273102> in <module>()
----> 1 real_countries[3]

IndexError: string index out of range

所以现在至少你有你的查询列表,然后你可以再次循环以实际查询。但是你仍然需要通过不切换单个值来确定你的“真实国家”,这是你通过国家[2]做到的。