实际地址转换成经纬度

关于如何将实际地址转换成经纬度。
首先,先用到百度地图的API,先自行注册账号,地址 http://lbsyun.baidu.com/
在这里插入图片描述
按照上述操作发送请求即可使用requests.get函数去调用API。
在这里插入图片描述

url = ‘http://api.map.baidu.com/geocoding/v3/?address=%s&output=json&ak=%s’%(name,AK)
res = requests.get(url)
话不多说,上代码。

import requests
from openpyxl import load_workbook
AK = "XXXXXXXXXXXXXXXXXXXXXXXXXX"       #  把复制的AK直接粘贴过来就可以了

def change(name):
	url = 'http://api.map.baidu.com/geocoding/v3/?address=%s&output=json&ak=%s'%(name,AK)
	res = requests.get(url)
	if res.status_code == 200:
		val = res.json()
		if val["status"] == 0:
			retval = {'地址':name,'经度':val['result']['location']['lng'],'纬度':val['result']['location']['lat'],'地区标签':val['result']['level'],'是否精确查找':val['result']['precise']}
		else:
			retval = None
		return retval
	
	else:
		print('无法获取%s经纬度'%name)


if __name__ == '__main__':
	file = r'C:\Users\TR\Desktop\map.xlsx'#存放在桌面
	wb = load_workbook(file)
	ws = wb.active
	for i in range(2,ws.max_row+1):
		name = ws.cell(row=i,column=1).value
		map = change(name)
		if map !=None:
						ws.cell(row=i,column=2).value = map['经度']
						ws.cell(row=i,column=3).value = map['纬度']
		else:
						ws.cell(row=i,column=2).value = ' '
						ws.cell(row=i,column=3).value = ' '
		wb.save(file)
			

结果如下:
在这里插入图片描述

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值