Python调用高德API实现批量地址转经纬度并写入表格的功能
本文介绍如何使用Python调用高德地图Web服务API,实现从CSV文件批量读取地址并转换为经纬度的功能。通过requests发送请求,利用pandas库处理数据,最终将转换结果保存为新的CSV表格,适用于需要批量地理编码的场景。
Python调用高德API批量解析地址经纬度教程
首先,将待转换经纬度的地址数据整理并保存至名为“地址.csv”的文件中。文件的具体格式示例可参考下方截图。

具体实现代码展示如下:
# coding=utf-8
# SPL
# 时间:2020/12/20 21:15
import csv
import requests
import json
import pandas as pd
num=0
y=[]
with open("地址.csv", 'r') as f: #写入将要转换的地址的文件路径,此处为默认文件路径(要先将文件提前导入)(注意是csv格式文件)
r = csv.reader(f, delimiter=',')
for row in r:
print(row[0])
#记得在key=后面填入申请百度地图开发平台的key
url = "http://restapi.amap.com/v3/geocode/geo?key=**********&address=" + row[0]
dat = {
'count': "1",
}
r = requests.post(url, data=json.dumps(dat))
s = r.json()
b = s['geocodes']
for j in range(0, 10000):
try:
neirong1 = b[j]
except:
continue
try:
b = neirong1['location']
except:
continue
try:
lon_lat= b.split(',')
lon=float(lon_lat[0])
lat = float(lon_lat[1])
print(lon)
print(lat)
except:
continue
num += 1
print("第" + str(num) + "条地址转换成功")
y.append([row[0], lon, lat])
result = pd.DataFrame(y)
result.columns = ['地址', '经度', '纬度']
result.to_csv('地址转经纬度.csv', encoding='utf-8-sig', index=False)
程序运行后的控制台输出结果如下:

地址转换完成后,生成的包含经纬度信息的表格截图如下所示:

至此,关于利用Python调用高德API批量将地址转换为经纬度并写入表格的功能介绍完毕。如需了解更多Python结合高德API进行批量地址解析的相关内容,建议查阅本站过往文章或继续浏览后续系列教程,感谢大家的支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













