地址转换为经纬度
这里我参考了知乎一个文章点击查看原文
首先我们在百度地图开发者平台创建一个用户,申请一个应用,值得注意的是要把ip写成0.0.0.0/0
代码
import requests
import json
from openpyxl import load_workbook # 用于读取xlsx格式文件
import csv
def gain_location(adress):
#这个api_url网址里的city=填你想填的城市名(非必需参数,即可删除city=xxx),ak=填入你自己的密匙,output=json意思是输出json格式
api_url = f'http://api.map.baidu.com/geocoding/v3/?city=西安市&address={adress}&ak=AQyA0VUGmTDDGWTNOR49KlasK78uH9Ev&output=json&callback=showLocation'
r = requests.get(api_url)
r = r.text
'''经历以下两次去除,使得最终结果为json格式的数据
原来的数据格式:showLocation&&showLocation(' showLocation&&showLocation('showLocation&&showLocation({"status":0,"result":{"location":{"lng":108.94646555063274,"lat":34.34726881662395},"precise":0,"confidence":12,"comprehension":63,"level":"城市"}})
去除后的数据格式为将json字符串转换为字典类型:showLocation&&showLocation({"status":0,"result":{"location":{"lng":108.94646555063274,"lat":34.34726881662395},"precise":0,"confidence":12,"comprehension":63,"level":"城市"}}
'''
r = r.strip('showLocation&&showLocation(')
r