Power Query 转换概述

Power Query 转换概述

Power Query 转换是数据处理的重要过程,转换工作开始之前要先确定好自己的目标,你需要得到什么样的结果。其实转换工作的实质就是:

Power Query 转换概述

有了目标之后,就是选择适当的转换方法,这个有点和Excel写公式相近,同一个问题可能会有很多种公式的写法,每个人都有自己一个习惯,有的高手认为,一步搞定,公式越短越显功力,有的则分步完成,同样能得到结果。所以只要解决问题,你的方法就是对的。

转换方法,大的方向有三个:

Power Query 转换概述

具体到操作上:

Power Query 转换操作的基本约定:

我们来看一个例子:从天气网站上获取城市列表的转换过程:

Power Query 转换概述

左边是我们的目标表格,右变是网页的截图,看起来很整齐,但是如果你直接复制到Excel中就是一团汉字,拆都拆不开。看看源码的样子,也是很头疼

Power Query 转换概述

98行是我们要的数据,看起来也是很乱。

Power Query数据处理过程的第一步是建立连接,从网页建立连接是可以的,但是每次都要从网站抓取,不是很方便,我们可以源代码复制到文本中,然后从文本建立连接。

Power Query 转换概述

转换开始

第一步:修改源的设置

默认的是HTML格式的,需要修改成文格式

Power Query 转换概述

第二步:减法去掉多余的内容

我们复制到文本的时候多了一行空白,变成99行了,保留99行,其他行都去掉。

Power Query 转换概述

第三步:加法分列

省直辖市是h2字体,我们用

做符号分列,一列变多列。

Power Query 转换概述

第四步:变换转置:行变列

因为后续的出列还要继续拆分,放在列拆分比较方便。

Power Query 转换概述

第五步:加法继续拆分列

HTML中标志都是成对出现的

,

,所以我们再用拆分一次,就把省直辖市与区县分开。

Power Query 转换概述

第六步:准备分列字符

用逗号替换,逗号就是后续分类用的符号

Power Query 转换概述

第七步:减法去掉多余的字母与字符

使用Text.Remove函数去掉多余字符,保留汉字。添加两个自定义列

省市=Text.Remove([Column1.1],{"a".."z","<","=","/",">","0".."9"})
区县=Text.Remove([Column1.2],{"a".."z","<","=","/",">"," ", "-","0".."9"})
Power Query 转换概述

这里使用了M函数,要首字母大写,至于删除什么符号,要根据具体情况,适当添加,删减符号,当然不能把逗号也remove了,否则我们做的分列符号就白做了。

第八步:减法去除多余的列,与空行

Power Query 转换概述

第九步:加法拆分列

看见了么,我们预留的逗号在这一步发挥作用了。

Power Query 转换概述

第十步:变换逆透视列

选第2列,按SHIFT+END选中除第一列外的后面所有列,然后按逆透视按钮。

Power Query 转换概述

第十一步:减法删除列,筛选空白行

Power Query 转换概述

到这里转换工作就全部完成了。

其实我也不是一下子就全部做好,中间会有些问题,发现问题在去修正,例如自定列的时候,去除空格和短划线,就是在后来的检查中发现,县市的里面有些有多余的空格和短划线,纠正这个问题,可以添加两步字符替换,也可以在Text.Remove函数中直接去除。

Power Query转换操作,就是这样不断的找规律,加加减减,最后转换成你需要的结果。

展开阅读全文

页面更新:2024-03-02

标签:汉字   省直   减法   加法   逗号   数据处理   公式   透视   函数   多余   符号   字符   目标   过程   操作   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top