我嘗試連接來自 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
提交
取消