在Power BI Desktop中制作数据地图时,由于BING地图中的中文数据不那么准确,如果只使用汉字的地名进行地图绘制,往往会出现莫名其妙的情况,明显是国内地址,会出国。所以最准确的方法是通过经纬度定位。
现在网络上各种数据。搜索后,有很多网站提供经纬度查询。我们的地图不需要很高的经纬度精度。我们找到了一个可以查询全国各省市县经纬度的网站:
找到上海,随便在哪个区查:果然
检查网页上的连接地址,非常简单,应该直接爬取:
这种结构的网页通常是通过子页面的连接来搜索内容,而不是现成的数据表。一页只有三个有用的数据:地名、经度和纬度。所以我们需要在文本中打开它,然后过滤出我们需要的内容,然后进行排序。
但是,我们不能一个接一个地手工添加这么多子页面。当从任何页面进入时,都有来自其他区域的连接,所以我们可以通过这个连接自动添加它们。
第一部分获取所有链接地址
先修改这个源码的设置,注意设置GB2312编码,否则汉字乱码。
预留行,从109行开始,共19行
下一步是提取内容:每个区的名称和连接的地址;
此提取>:分隔符之间的文本,非常容易使用。在高级设置中应跳过1个字符。请注意这一点”
获取连接地址的方法是一样的,但是不要跳过,可以直接获取:
第二部分抓取
自定义列:可以使用Web进行查询。内容根据链接地址。
单击编辑后,将出现一个对话框,您仍然需要在其中选择一个文本文件:
接下来是合并文件,选择GB2312编码要注意:
Power Query会像我们合并文件一样自动生成一个用户自定义函数,参照这个用户自定义函数合并所有页面。为了方便后续操作,我们将在正确的步骤中后退一步,找到其他删除的列。在这里,我们将检索自动删除的地区的名称。如果我们没有找到它们,我们将在以后再次提取它们。
最后的结果是这样的:第二部分工作完成。
第三部分整理数据
在这么多行中,只有19行对我们有用
我们需要过滤掉这19行:通过观察,只要包含这两个关键词的行是我们需要的,世界就会突然变得清爽。
使用提取>:分隔符之间的文本,这次不需要转换它,而是使用添加列内的提取来保存复制的列。首先提取经度:
然后提取纬度:
最后,修改以下名称和数据类型,您就完成了:
我们模拟了每个地区的销售数据列表,然后用每个地区的名称为索引列建立了一个表关系:
可以去BI做个图:
最好将此网络捕获的数据作为归档文件保存在本地。不需要每次都在网络上刷新。只需在Power BI Desktop中以表格模式复制表格,粘贴到Excel中即可。
如果在Excel中抓取Power Query中的数据,会简单一些,直接加载到表格中复制即可。
1.《上海经纬度 Power Query获取上海市各区的经纬度》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《上海经纬度 Power Query获取上海市各区的经纬度》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/1316387.html