经过前期业务的不断探索,公司从加油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)