省市区县CSV
省编码 | 省名称 | 市编码 | 市名称 | 区县编码 | 区县名称 | 区县范围 |
---|
110000 | 北京市 | 110000 | 北京市 | 110101 | 东城区 | |
amap.py
import pandas as pd
import requests
def get_boundary_from_amap(level, keyword):
print(level + ',' + str(keyword))
"""
功能: 获取某省市区的边界 gis 坐标
level: 行政级别 district 区、 city 市、 province 省
keywords: 某个具体的省, 市, 区
return: 返回网页响应.
"""
params = {
'keywords': keyword,
'level': level,
'subdistrict': 0,
'key': '6d71f68deb0d1b2087b482242d93f030',
'extensions': 'all'
}
response = requests.get(
'https://restapi.amap.com/v3/config/district',
params=params
)
res = response.json()
print('res: ' + str(res))
return res['districts'][0]['polyline']
data = pd.read_csv('省市区县.csv')
specified_columns = data['区县编码']
print(len(specified_columns))
print(specified_columns[2849])
for i in range(0, len(specified_columns)):
print(pd.isna(data.loc[i, ('区县范围')]))
if pd.isna(data.loc[i, ('区县范围')]):
try:
boundary = get_boundary_from_amap('district', int(specified_columns[i]))
data.loc[i, ('区县范围')] = [boundary]
data.to_csv('省市区县.csv', index=False, encoding='utf_8_sig')
except:
pass
else:
continue