Я настроил цикл для удаления с 37900 записей. Из-за способа настройки URL / сервера в каждом URL отображается ограничение в 200 записей. Каждый URL заканчивается 'skip = 200' или кратным 200, чтобы перейти к следующей странице URL, где отображаются следующие 200 записей. В конце концов я хочу просмотреть все URL и добавить их в таблицу. Связанный опубликованный не может зациклить последний URL с ограничениями на подкачку
Я создал два цикла, как показано ниже - один для создания URL с пропуском = каждые 200 записей, а другой для получения ответа откаждый из этих URL, затем другой цикл для чтения json и добавления их к одному фрейму данных.
Я не уверен, чего не хватает в моем втором цикле - пока он создает только json для первой страницы URL, но непоследующие страницы. У меня такое ощущение, что usl jsons не добавляются в список json = [], поэтому он предотвращает зацикливание и добавление jsons в csv. Будем благодарны за любые предложения по изменению циклов и улучшению этих кодов!
import pandas as pd
import requests
import json
records = range(37900)
skip = records[0::200]
Page = []
for i in skip:
endpoint = "https://~/Projects?&$skip={}".format(i)
Page.append(endpoint)
jsnlist = []
for j in Page:
response = session.get(j) #session here refers to requests.Session() I had to set up to authenticate my access to these urls
responsejs = response.json()
responsejsval = responsejs['value'] #I only want to extract header called 'value' in each json
with open('response2jsval.json', 'w') as outfile:
json.dump(jsnlist, outfile)
concat = pd.DataFrame()
for k in jsnlist:
df = pd.DataFrame(k) #list to df
concat = concat.append(df, ignore_index = True)
print(concat)