经过前期业务的不断探索,公司从加油app的调研,转向了新能源充电车app的开发中,在这调研的过程中,给了我各种各样稀奇古怪的爬取相关数据的需求。当然,目前公司新能源充电app已于四月份顺利上线。以下是给了一份经纬度详细坐标的excel,通过高德地图公共的接口,获取相关省市县信息的代码:
import requests
import xlwt
import pandas as pd
#根据经纬度,逆向生成省市县
# 高德地图
#key:去高德开发者平台申请,填你自己申请的key
def geocode(location):
parameters = {'output': 'json', 'location': location, 'key': '',
'extensions': 'all'}
base = 'https://restapi.amap.com/v3/geocode/regeo'
response = requests.get(base, parameters)
answer = response.json()
#print('url:' + response.url)
#print(answer)
return answer['regeocode']['addressComponent']['province'], answer['regeocode']['addressComponent']['city'],answer['regeocode']['addressComponent']['district']
df1 = pd.read_excel("E:\cityNew\gps11.xlsx", usecols=["地址经度","地址纬度"], names=None)
df_li1 = df1.values.tolist()
polist = []
for i in range(len(df_li1)):
xtmp = str(df_li1[i][0])
ytmp = str(df_li1[i][1])
locations = str(ytmp)+','+str(xtmp)
#print(locations)
province, city, district = geocode(locations)
#print(province)
#print(city)
#print(district)
polist.append(str(province) +','+ str(city) +','+ str(district))
print(polist)
def write_to_excel(polist):
# 一个Workbook对象,这就相当于创建了一个Excel文件
book = xlwt.Workbook(encoding='utf-8', style_compression=0)
sheet = book.add_sheet(province, cell_overwrite_ok=True)
# 第一行(列标题)
sheet.write(0, 0, '省')
sheet.write(0, 1, '市')
sheet.write(0, 2, '县/区')
for i in range(len(polist)):
array = polist[i].split(",")
sheet.write(i + 1, 0, array[0])
sheet.write(i + 1, 1, array[1])
sheet.write(i + 1, 2, array[2])
book.save('省市县.xls')
write_to_excel(polist)

京公网安备 11010502036488号