0
0 комментариев

В задании необходимо выгрузить некие данные по ссылке, создать из них датафрейм, отсортировать его по id и заменить им индекс

Данный код исправно выдаёт данные, но в конце не может вывести итоговый датафрейм с данными со всех страниц

Подскажите, в чём проблема?

Версия Python 3.7 Jupyter, OC Windows

import pandas as pd
import requests as rq
import json
from pandas.io.json import json_normalize
i = 1
data1 = pd.DataFrame(columns = ["id", "first_name", "last_name"])
for i in range (1, 50):#50 - это случайное число, т.к. мы не знаем точное количество страниц, то я предполагаю, что их не больше 50
    url = "http://хххххххххх/api/groups/getmembers?api_key=098f2ddd79cd296bad7b7b41c2b68a3b&group_id=6758399&page="+str(i)
    data = rq.get(url)
    l = len(data.text)
    if l > 17: #т.к. я проверила, что на 100й странице больше нет данных о пользователях и количество символов на ней было 16, в то время как на первой странице их больше 300
        group_data1 = json.loads(data.text)["response"]
        group_data_1 = pd.DataFrame(group_data1).reset_index(drop=True)
        group_data = data1.append(group_data_1)
        group_data = group_data.sort_values(by = ["id"])
        group_data = group_data.set_index('id')
        #group_data
group_data


Добавить комментарий