我已经运行以下代码从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)
但仍然出现相同的错误。 请帮助
答案 0 :(得分:0)
fiddy_states
的形状有点复杂,因为它是一个包含一个元素的列表,该元素包含具有MultiIndex的数据帧。更令人困惑的是,MultiIndex包含具有相同名称的列。
我可以通过以下方式获取数据:
for abbv in fiddy_states[0]['Abbr']['Abbr']:
quandl.get('FMAC/HPI_'+abbv)