新校区建设网站,网页生成pdf不显示,厦门同安网站建设,iis能搭WordPress之前因为同事需要几千个小区的经纬度信息#xff0c;所以就帮同事写了一段Python代码#xff0c;通过调取高德地图的api实现地址查询经纬度这个功能。对于如何使用经纬度查询地址的方法#xff0c;我之前分享过博文#xff1a;【Python入门教程】获取图片可视化精准定位所以就帮同事写了一段Python代码通过调取高德地图的api实现地址查询经纬度这个功能。对于如何使用经纬度查询地址的方法我之前分享过博文【Python入门教程】获取图片可视化精准定位逆地理编码如果大家感兴趣可以自己去看下。这次主要是分享如何通过地址查询经纬度。 我这里就不演示如何注册高德Api了之前那篇文章里有自己去看
一、导入需要的库
import requests
import xlrd
import xlwt
二、主函数 我这里就不过多的介绍了看看官方的api就都知道了。这里需要注意的就是输入的文件格式我这里已经写死程序了。只能输入.xls表格文件然后表格中只有1列数据地址数据从第1行开始。最后就是输出的文件路径也必须是.xls这是xlwt和xlrd两个库的弊端。 还有一件事就是修改par {address: address, key: *********}改成自己高德的key不懂的看之前那篇文章
def CoordTransform(excel_path, out_path)::param excel_path: 输入excel表格里面只有1列全是地址:param out_path: 输出的表格名称:return: Nonewb xlrd.open_workbook(excel_path)# wb.n sheets # sheets数量# wb.sheet_names() # sheets名称ws wb.sheet_by_index(0) # 通过表单索引获取# ws wb.sheet_by_name( ) # 通过表名获取wb_result xlwt.Workbook(encodingutf-8)ws_result wb_result.add_sheet(经纬度)ws_result.write(0, 0, 编号)ws_result.write(0, 1, 地址)ws_result.write(0, 2, 经度)ws_result.write(0, 3, 纬度)for n in range(1, ws.nrows1):try:address ws.cell_value(n-1, 0)par {address: address, key: *******************}base http://restapi.amap.com/v3/geocode/georesponse requests.get(base, par)response.raise_for_status()answer response.json()gps answer[geocodes][0][location].split(,)ws_result.write(n, 0, n)ws_result.write(n, 1, address)ws_result.write(n, 2, str(gps[0]))ws_result.write(n, 3, str(gps[1]))except requests.HTTPError or KeyError:continuewb_result.save(out_path)
三、总结 本次分享的内容没什么难度略懂爬虫知识会一点表格操作即可完成所以不过多跟大家介绍了。有一点很遗憾就是这个查询到的坐标系是高德坐标系也就是火星坐标系GCJ-02。它和实际的WGS84会有一点偏移但是问题不大。毕竟国家加密坐标系肯定有自己的考虑有点点偏移对于我来说够用了。