Python解析百度地图各省市经纬度(二)
在上一篇的基础上,把各个省的城市经纬度解析出来:import jsonNAME = 'n'GEO = 'g'CITIES = 'cities'PROVINCES = 'provinces'# 把百度文件装入字符串def load_origin_bd_file_to_str():f = open(file='BaiduMap_cityCenter.txt', mode='r', encoding='
·
在上一篇(https://zhangphil.blog.csdn.net/article/details/110254179)的基础上,把各个省的城市经纬度解析出来:
import json
NAME = 'n'
GEO = 'g'
CITIES = 'cities'
PROVINCES = 'provinces'
# 把百度文件装入字符串
def load_origin_bd_file_to_str():
f = open(file='BaiduMap_cityCenter.txt', mode='r', encoding='gbk')
sss = f.read()
f.close()
return sss
def clean_data(sss):
target = ('municipalities:', 'provinces:', 'cities:', 'n:', 'g:', 'other:')
for old in target:
news = '\"' + old.replace(':', '') + '\":'
newsss = sss.replace(old, news)
sss = newsss
sss = sss.replace(';', '')
return sss
def get_city_lnglat(provin, cities):
for c in cities:
city_name = c[NAME]
city_geo = c[GEO]
lnglat = city_geo.split(',')
lng = lnglat[0]
lat = lnglat[1].split('|')[0]
print(provin + '-' + city_name, '经:' + lng, '维:' + lat)
if __name__ == '__main__':
origin_s = load_origin_bd_file_to_str()
res = clean_data(origin_s)
json_result = json.loads(res) # 到这里已经是标准的json格式数据
provinces = json_result[PROVINCES]
for pro in provinces:
get_city_lnglat(provin=pro[NAME], cities=pro[CITIES])
最终输出如下(部分):
四川-成都 经:104.067923 维:30.679943
四川-阿坝州 经:102.228565 维:31.905763
四川-巴中 经:106.757916 维:31.869189
四川-达州 经:107.494973 维:31.214199
四川-德阳 经:104.402398 维:31.13114
四川-甘孜州 经:101.969232 维:30.055144
四川-广安 经:106.63572 维:30.463984
四川-广元 经:105.819687 维:32.44104
四川-乐山 经:103.760824 维:29.600958
四川-凉山州 经:102.259591 维:27.892393
四川-泸州 经:105.44397 维:28.89593
四川-南充 经:106.105554 维:30.800965
四川-眉山 经:103.84143 维:30.061115
四川-绵阳 经:104.705519 维:31.504701
四川-内江 经:105.073056 维:29.599462
四川-攀枝花 经:101.722423 维:26.587571
四川-遂宁 经:105.564888 维:30.557491
四川-雅安 经:103.009356 维:29.999716
四川-宜宾 经:104.633019 维:28.769675
四川-资阳 经:104.63593 维:30.132191
四川-自贡 经:104.776071 维:29.359157
西藏-拉萨 经:91.111891 维:29.662557
西藏-阿里地区 经:81.107669 维:30.404557
更多推荐
所有评论(0)