Безопасные данные, полученные с нескольких страниц из API

#python #pandas #api #python-requests

#python #pandas #API #python-запросы

Вопрос:

Я нашел решение для печати данных с нескольких страниц из API:

 for page in range(1, 3):
    url = "https://www.balldontlie.io/api/v1/players?page={}".format(page)
    ot_data_response = requests.get(url)
    ot_data = ot_data_response.text
    ot_dataparsed = json.loads(ot_data)
    ot_dataparsedfin = pd.json_normalize(ot_dataparsed, "data")
    print(ot_dataparsedfin)
  

Есть ли хороший способ сохранить все данные в одной переменной / dataframe, чтобы я мог с этим работать?

Комментарии:

1. Рассматривали ли вы pickle?

Ответ №1:

Возможно, вы захотите использовать pd.concat :

 pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True)
  

В вашем случае это должно быть примерно так:

 json_df_list = []
for page in range(1, 3):
    url = "https://www.balldontlie.io/api/v1/players?page={}".format(page)
    ot_data_response = requests.get(url)
    ot_data = ot_data_response.text
    ot_dataparsed = json.loads(ot_data)
    ot_dataparsedfin = pd.json_normalize(ot_dataparsed, "data")
    json_df_list.append(ot_dataparsefin)

json_df = pd.concat(json_df_list)
print(json_df)
  

Комментарии:

1. Вот и все. Спасибо!