# -*- coding:utf-8 -*-
# author:ck_233 time:2020/3/16
import time
import requests
import pandas as pd
from pandas import DataFrame
developer_key = '6M2BZ-5SOWU-ZF6VH-22KK6-OCT65-62BJU' # 这里为你申请的开发者key
# 通过地址获取经纬度
def address_to_coordinate(address):
base = "http://apis.map.qq.com/ws/geocoder/v1/?address={}&key={}".format(address, developer_key) # 地址解析,地址转坐标
response = requests.get(base)
answer = response.json()
if(answer['status'] == 0):
data = {
'lng':answer['result']['location']["lng"], # 经度
'lat':answer['result']['location']["lat"] # 纬度
}
else:
data = {
'lng':'error',
'lat':'error'
}
print(data)
return data
# 通过经纬度获取地址
def coordinate_to_address(lat_lng): # 注意入参格式:纬度,经度
base = "https://apis.map.qq.com/ws/geocoder/v1/?location={}&get_poi={}&key={}".format(lat_lng, 1, developer_key) # 坐标转地址
response = requests.get(base)
answer = response.json()
# print(answer)
if(answer['status'] == 0):
data = answer['result']['address']
else:
data = 'error'
print(data)
return data
# 入参excel文件名,表名
def readExcel(filename, sheetname):
data = pd.read_excel(filename, sheetname)
# print(data)
# 通过地址获取经纬度,并修改
for index in range(0,len(data)):
# 开发者并发有限制,根据情况来设置
time.sleep(0.2)
print(data.loc[index, '地址'])
address = data.loc[index, '地址']
lng_lat = address_to_coordinate(address)
data.loc[index, '经度'] = lng_lat['lng']
data.loc[index, '纬度'] = lng_lat['lat']
# print(data)
# 保存修改
DataFrame(data).to_excel(filename, sheet_name=sheetname, index=False, header=True)
if __name__ == '__main__':
address_to_coordinate("武汉市青山区和平大道809号")
coordinate_to_address("30.617353,114.360809")
#readExcel('xxxx.xlsx', 'Sheet1')
流调溯源 腾讯接口实现批量地址转换
最新推荐文章于 2025-05-11 01:48:00 发布
该博客介绍了如何利用QQ地图API进行地址到经纬度和经纬度到地址的转换。提供了两个函数`address_to_coordinate`和`coordinate_to_address`,分别用于地址解析和坐标转地址。示例中展示了对Excel文件中地址数据进行批量处理,获取经纬度并更新到Excel文件中。
1148

被折叠的 条评论
为什么被折叠?



