這個返回的json,有人會解析成df么?
回復(fù)“資源”即可獲贈Python學(xué)習(xí)資料
大家好,我是皮皮。
一、前言
前幾天在Python鉆石交流群【心田有垢生荒草】問了一個Python網(wǎng)絡(luò)爬蟲處理的問題,提問截圖如下:

代碼截圖如下:
import requests
import json
url = 'https://restapi.amap.com/v3/config/district?parameters'
params = { 'key': '你的key',
'keywords': '中國',
'subdistrict': '3',
}
res = requests.get(url, params)
res.text
jd = json.loads(res.text)
jd
二、實現(xiàn)過程
通過爬蟲確實可以獲取到數(shù)據(jù),只不過里邊的層級關(guān)系還是挺復(fù)雜的,有省市區(qū)縣鄉(xiāng)等層級,所有看上去沒有想的那么簡單。

后來他自己給了一個看似復(fù)雜的代碼,如下圖所示:

三層嵌套for循環(huán),不過能搞定就行。
完整代碼如下:
import requestsimport jsonurl = 'https://restapi.amap.com/v3/config/district?parameters'params = { 'key': '你的key','keywords': '中國','subdistrict': '3',}res = requests.get(url, params)res.textjd = json.loads(res.text)jd['districts']#%%df = pd.DataFrame()for sh in range(len(jd['districts'][0]['districts'])):# print(sh)jd1 = jd['districts'][0]['districts'][sh]sheng_id = jd1['adcode']sheng = jd1['name']sheng_lng = jd1['center']print(sheng)for shi_num in range(len(jd1['districts'])):shi = jd1['districts'][shi_num]city_id = shi['adcode']city = shi['name']city_lnt = shi['center']print(city)for qu_num in range(len(shi['districts'])):qu = shi['districts'][qu_num]region_id = qu['adcode']region = qu['name']region_lng = qu['center']print(region)df1 = pd.DataFrame([[sheng_id,sheng,sheng_lng,city_id,city,city_lnt,region_id,region,region_lng]],columns=('province_id','province_name','province_lng_lat','city_id','city_name','city_lnt_lat','region_id','region_name','region_lng_lat'))df = df.append(df1)df
三、總結(jié)
大家好,我是皮皮。這篇文章主要盤點了一個Python網(wǎng)絡(luò)爬蟲數(shù)據(jù)處理問題,文中針對該問題給出了具體的解析和代碼實現(xiàn),幫助粉絲順利解決了問題。
最后感謝粉絲【心田有垢生荒草】提問,感謝【dcpeng】、【瑜亮老師】給出的思路和代碼解析,感謝【冫馬讠成】等人參與學(xué)習(xí)交流。
大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時聯(lián)系我解決(我的微信:pdcfighting),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費學(xué)習(xí)交流群,歡迎大家加入我的Python學(xué)習(xí)交流群!

有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
------------------- End -------------------
往期精彩文章推薦:

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
