как удалить ошибку в функции quandl.get()

#python-3.x #pandas #quandl

#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:

Форма fiddy_states немного сложна, потому что это список, содержащий один элемент, содержащий фрейм данных с мультииндексом. Еще более запутанным является то, что мультииндекс содержит столбцы с одинаковыми именами.

Я мог бы получить данные с помощью этого:

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