做地区可视化的同学可能经常需要使用地址去查询对应的经纬度方便我们精准制图,但是很多时候我们拿到的地址信息真的是杂乱无章,使用网上的转换工具根本没法处理,今天我们就交大家如何使用Excel轻松搞定这个问题,小白你都可以搞定!
在动画中,我们输入想查询的地址,即可得到他的完整地址信息省市县我们要用到的工具:高德地图API+Excel-Power Query 注册登录进入,点击【控制台】 - 【应用管理】 - 【我的应用】-【创建新应用】 这里申请key,也是我们的唯一身份标识,使用API基本都要这个东西 完成后,你的下面就会多出一行 ,我们要的就是这个Key,其他都不重要! 我们要根据模糊地址查询,就需要高德的API,然后使用PQ去发起请求! 我们通过点击 【开发支持】 -【Web服务 API】可以查看全部可用API 进来最后,第一个基本就是我们本次使用的 - 地理/逆地理编码考勤到小白教程,直接下拉到下面 服务示例,可以点击运行测试查询结果
https://restapi.amap.com/v3/geocode/geo?address=北京市朝阳区阜通东大街6号&output=XML&key=<用户的key> 其中只有两个地方需要我们修改,一个是查询的地址信息,第二个就是Key,我们第一步已经申请,复制过来即可! 我们使用【数据】 - 【自网站】,输入示例中的URL并加入自己的Key,&output=XML 可以选择删除,返回JSON格式,确定!生成表,【主页】 - 【关闭并上载 】加载到Excel即可!这是我们查询默认的地址,其他地址大家可以根据实际查询需要修改即可! 关于Excel中输入直接查询,需要使用部分VBA事件知识,这里就不再赘述!B2单元格内容发生改变,刷新我们PQ加载得结果表即可!
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "B2" Then [b5].ListObject.QueryTable.Refresh BackgroundQuery:=False End If End Sub
简单修改一下,如果你有PQ基础看上去应该更好理解一些,没有基础的同学
稍微修改一下,通用一点,每次调用,填写x-查询内容和 自己的key即可
let // x 查询内容, key- 申请的key 源 = (x, key)=> let a = try Json.Document( Web.Contents( "https://restapi.amap.com/v3/geocode/geo?address="& x &"&key="&key) )[geocodes]{0}[formatted_address] otherwise null in #table({"查询信息","结果"},{{x,a}}) in 源 这里我们就可以批量解析了,比如通过Table.AddColumn来调用此函数!
知识星球,VBA零基础从入门到精通,已经开始更新,感兴趣的可以看一下
公众号全部文章合集,按需查找+一键直达+每篇文章附件,你想要的这里都有
|