我尝试连接来自 XHR 的几个 JSON 响应。我有一个 XHR 列表,我想查看并将所有结果放在同一个 CSV 中。我知道我应该在循环外写入 CSV,但最初我只是想让它工作。我在最后发表了两条评论,这是我没有开始工作的部分。我还在最后添加了一个中断,这样您就不必遍历所有内容。import requestsimport pandas as pdfrom pandas.io.json import json_normalizeimport csvimport json h = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest',}#VARIABLESi=0projects = "https://cdn-search-standard-prod.azureedge.net/api/v1/tags/all/2af3c43b-98aa-49d8-b4ff-da6d5a992751" y=requests.get(projects,headers=h).json()df=pd.json_normalize(y)df.to_csv(r'C:\Users\abc\Documents\Python Scripts\ListOfProjects_20200628.csv', index=False, sep=';',encoding='utf-8')export=[]i=29for y in y: print(str(df.id[i])) u = "https://cdn-search-standard-prod.azureedge.net/api/v1/search/getstageobjects/"+str(df.id[i]) i = i+1 units = requests.get(u,headers=h).json() dp=pd.DataFrame(units) dp = pd.json_normalize(units) dp.to_csv(r'C:\Users\abc\Documents\Python Scripts\Units_20200628.csv', index=False, sep=';',encoding='utf-8') #export = pd.concat([export,dp], ignore_index=False, sort=False) #export.to_csv(r'C:\Users\abc\Documents\Python Scripts\Units_20200628.csv', index=False, sep=';',encoding='utf-8') break
1 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
这是一种方法。将所有“部分”数据框保存在列表中,然后使用pd.concat. 然后,您可以使用保存这个大数据框to_csv。这是代码的相关部分:
df_list = []
for y in y[:10]: # for development purpose - iterate over 10 URLs only
print(str(df.id[i]))
u = "https://cdn-search-standard-prod.azureedge.net/api/v1/search/getstageobjects/"+str(df.id[i])
i = i+1
units = requests.get(u,headers=h).json()
dp=pd.DataFrame(units)
dp = pd.json_normalize(units)
df_list.append(dp)
res = pd.concat(df_list)
res.to_csv("final_result.csv")
添加回答
举报
0/150
提交
取消