Python调用高德API,实现批量获取地址经纬度,并写入excel文件

调用高德API实现批量输入地址,获取经纬度,并输出到excel表格

# 导入库
import requests,json
import xlsxwriter

# 定义变量
KEY = 'xxx' #此处填入你申请的key
URL_geocode = 'https://restapi.amap.com/v3/geocode/geo?'

# 获取经纬度
def gain_location(address):
    api_url = f'{
   URL_geocode}city=郑州市&address={
   address}
    &key={
   KEY}&output=json&callback=showLocation' 
可以使用高德地图开放平台的Web服务API进行地址转换。具体步骤如下: 1. 在高德地图开放平台申请一个开发者账号,获取API Key。 2. 使用Python的requests库发送HTTP请求,调用高德地图的Web服务API,将地址转换为经纬度。 3. 将返回的经纬度信息写入Excel表格中。 下面是一个示例代码,假设Excel表格包含地址信息,地址所在列为A列,经度信息所在列为B列,纬度信息所在列为C列。 ```python import requests import xlrd import xlwt from xlutils.copy import copy # 输入Excel文件路径和sheet名 input_file = 'input.xlsx' sheet_name = 'Sheet1' # 输出Excel文件路径 output_file = 'output.xlsx' # 获取输入Excel文件和sheet input_workbook = xlrd.open_workbook(input_file) input_sheet = input_workbook.sheet_by_name(sheet_name) # 获取输入Excel文件的行数 num_rows = input_sheet.nrows # 创建输出Excel文件 output_workbook = xlwt.Workbook(encoding='utf-8') output_sheet = output_workbook.add_sheet(sheet_name) output_sheet.write(0, 0, '地址') output_sheet.write(0, 1, '经度') output_sheet.write(0, 2, '纬度') # 遍历输入Excel文件中的每一行,获取地址信息,调用高德地图Web服务API获取经纬度信息 for i in range(1, num_rows): address = input_sheet.cell_value(i, 0) url = f'https://restapi.amap.com/v3/geocode/geo?key=<your_api_key>&address={address}' response = requests.get(url) json_data = response.json() location = json_data['geocodes'][0]['location'] longitude, latitude = location.split(',') output_sheet.write(i, 0, address) output_sheet.write(i, 1, float(longitude)) output_sheet.write(i, 2, float(latitude)) # 将输出Excel文件保存 output_workbook.save(output_file) ``` 在代码中,需要将`<your_api_key>`替换为自己申请的API Key。另外,需要安装xlrd、xlwt和xlutils库来读取和写入Excel文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值