如何清除quandl.get()函数中的错误

时间:2019-04-06 21:28:59

标签: python-3.x pandas quandl

我已经运行以下代码从quandl中获取数据,并且可以正常工作

    import quandl
    import pandas as pd
    fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')
    for abbv in fiddy_states[0][0][1:]:
    #print(abbv)
       print("FMAC/HPI_"+str(abbv))

我得到了数据集“ FMAC / HPI_”的打印,但是当我尝试执行以下代码时,我得到了错误消息

api_key = open('quandl_api_key.txt','r').read()
fiddy_states = pd.read_html('https://simple.wikipedia.org/wiki/List_of_U.S._states')

main_df = pd.DataFrame()

for abbv in fiddy_states[0][0][1:]:
    query = "FMAC/HPI_"+str(abbv)
    df = quandl.get(query,authtoken=api_key)

    if main_df.empty:
        main_df = df
    else:
        main_df = main_df.join(df)

我收到的错误消息如下:

 6 for abbv in fiddy_states[0][0][1:]:
      7     query = "FMAC/HPI_"+str(abbv)
----> 8     df = quandl.get(query,authtoken=api_key)
      9 

NotFoundError: (Status 404) (Quandl Error QECx02) You have submitted an incorrect Quandl code. Please check your Quandl codes and try again.

我尝试使用authtoken运行代码,如下所示:

for abbv in fiddy_states[0][0][1:]:
    query = "FMAC/HPI_"+str(abbv)
    df = quandl.get(query)

但仍然出现相同的错误。 请帮助

1 个答案:

答案 0 :(得分:0)

fiddy_states的形状有点复杂,因为它是一个包含一个元素的列表,该元素包含具有MultiIndex的数据帧。更令人困惑的是,MultiIndex包含具有相同名称的列。

我可以通过以下方式获取数据:

for abbv in fiddy_states[0]['Abbr']['Abbr']: 
    quandl.get('FMAC/HPI_'+abbv)