excel+power query进行文本数据拆分和提取

我的博客之前分享了pandas中文本数据的拆分和提取
由于数据量不大,我们也可以使用excel和它自带的插件power query进行同样的处理。
原始数据如下:
excel+power query进行文本数据拆分和提取_第1张图片
数据来源见此贴 登录爬取拉勾网2.0 Python selenium

数据准备

导入csv文件

打开一个空白的excel文件,导入数据。
excel+power query进行文本数据拆分和提取_第2张图片

设定utf-8解码,选择【转换数据】。
excel+power query进行文本数据拆分和提取_第3张图片
进入power query界面,设置第一行为列名。
excel+power query进行文本数据拆分和提取_第4张图片

使用追加查询合并拉勾和boss网数据。

删除不需要的列。
excel+power query进行文本数据拆分和提取_第5张图片
去重
excel+power query进行文本数据拆分和提取_第6张图片
experience列的处理
excel+power query进行文本数据拆分和提取_第7张图片

这一列杂糅了经验,学历和薪资三个维度的内容,需要对列进行拆分。

我们按照分割符分割。
excel+power query进行文本数据拆分和提取_第8张图片

以k作为分隔符拆分为2列
excel+power query进行文本数据拆分和提取_第9张图片

excel+power query进行文本数据拆分和提取_第10张图片
乍一看放佛只要再以【/】为分隔符拆分一次就行。但点开筛选观察数据就会发现有漏网之鱼。
excel+power query进行文本数据拆分和提取_第11张图片

一类是包含【K】的薪资,一类是【经验+学历】的数据形式。
excel+power query进行文本数据拆分和提取_第12张图片

分别以【K】,【/】,【年】(代表xx年经验),【验】(代表经验不限),【生】(代表应届毕业生)为分隔符进行列的切割。这一步骤要重复多次,直到最后分割出了所需要的数据。

然后对各个分割出来的列进行合并。
excel+power query进行文本数据拆分和提取_第13张图片

excel+power query进行文本数据拆分和提取_第14张图片

这时候仍然存在null值,筛选查看数据:
在这里插入图片描述

原来原始数据就是null值,可以选择删除或填充,但观察到salary一列的工资为日结的,属于无效数据,删掉。
excel+power query进行文本数据拆分和提取_第15张图片

断开筛选观察数据,发现数据标签不统一,需要进行替换合并。
excel+power query进行文本数据拆分和提取_第16张图片

power query有替换功能,可以直接使用。
excel+power query进行文本数据拆分和提取_第17张图片

但替换功能的缺点是模糊匹配替换,有些数据需要进行精确替换,这里使用条件列。
excel+power query进行文本数据拆分和提取_第18张图片

excel+power query进行文本数据拆分和提取_第19张图片

excel+power query进行文本数据拆分和提取_第20张图片

完成。

再将之前分出来的学历进行上述的操作步骤进行合并。

最终得到:
excel+power query进行文本数据拆分和提取_第21张图片

再举一个例子。

location列的处理

location这一列有的数据形式是【城市+区】,为了统一格式,我们可以使用前文提到的条件列进行。
excel+power query进行文本数据拆分和提取_第22张图片

excel+power query进行文本数据拆分和提取_第23张图片

excel+power query进行文本数据拆分和提取_第24张图片

excel+power query进行文本数据拆分和提取_第25张图片

完成。

总结:

  1. excel的power query(以下简称pq)是一个非常强大的插件,它使得数据量很小的情况下清洗数据变得极为简单,省时省力;
  2. 操作简单的弊端就是数据处理得不精细,复杂处理需要换条件重复同一个步骤多次;
  3. pq的替换是模糊替换,使用起来不太方便,这时候可以借助条件列来得到自己想要的数据;

你可能感兴趣的:(excel)