高德API獲取省市區---python3實現

# -*- coding: utf-8 -*-
"""
Created on Thu Nov  4 15:40:25 2021
@author: 何雙新
"""

import requests
import json
# 需要自己申請高德地圖API
# 根據輸入條件快速查找特定行政區域信息

#文檔生成路徑
filename='D:\\pcd.json' def get_country_pcds(keywords:str): parameters = { 'key':'732a7b196e393006246f90c3ce247559', 'keywords':keywords, 'subdistrict':3 } r = requests.get('https://restapi.amap.com/v3/config/district?parameters',params=parameters) data = r.json()['districts'][0]['districts'] #獲取到所有的省 vals_sen=[] for i in data: vals_c=[] vals_qu=[] for j in i["districts"]: vals_c.append({"province_name":i["name"], "city_name":j["name"], "b_code":j["adcode"], "b_x":j["center"].split(",")[0], "b_y":j["center"].split(",")[1], "country":"China", }) for k in j["districts"]: vals_qu.append({ "province_name":i["name"], "city_name":j["name"], "district_name":k["name"], "b_code":k["adcode"], "b_x":k["center"].split(",")[0], "b_y":k["center"].split(",")[1], "country":"China" }) vals_sen.append({ "province_name":i["name"], "b_code":i["adcode"], "b_x":i["center"].split(",")[0], "b_y":i["center"].split(",")[1], "country":"China", "city_dict":vals_c, "district_dict":vals_qu }) print ('-----vals_sen-------',vals_sen) #ensure_ascii=False 解決寫入到文本的中文格式是16進制問題 with open(filename,'w',encoding='utf-8') as f: json.dump(vals_sen,f,ensure_ascii=False) return get_country_pcds('中國') #output-->province

 

 

最後保存的json格式爲:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章