我的博客之前分享了pandas中文本数据的拆分和提取
由于数据量不大,我们也可以使用excel和它自带的插件power query进行同样的处理。
原始数据如下:
数据来源见此贴 登录爬取拉勾网2.0 Python selenium
数据准备
导入csv文件
打开一个空白的excel文件,导入数据。
设定utf-8解码,选择【转换数据】。
进入power query界面,设置第一行为列名。
使用追加查询合并拉勾和boss网数据。
删除不需要的列。
去重
experience列的处理
这一列杂糅了经验,学历和薪资三个维度的内容,需要对列进行拆分。
我们按照分割符分割。
以k作为分隔符拆分为2列
乍一看放佛只要再以【/】为分隔符拆分一次就行。但点开筛选观察数据就会发现有漏网之鱼。
一类是包含【K】的薪资,一类是【经验+学历】的数据形式。
分别以【K】,【/】,【年】(代表xx年经验),【验】(代表经验不限),【生】(代表应届毕业生)为分隔符进行列的切割。这一步骤要重复多次,直到最后分割出了所需要的数据。
然后对各个分割出来的列进行合并。
这时候仍然存在null值,筛选查看数据:
原来原始数据就是null值,可以选择删除或填充,但观察到salary一列的工资为日结的,属于无效数据,删掉。
断开筛选观察数据,发现数据标签不统一,需要进行替换合并。
power query有替换功能,可以直接使用。
但替换功能的缺点是模糊匹配替换,有些数据需要进行精确替换,这里使用条件列。
完成。
再将之前分出来的学历进行上述的操作步骤进行合并。
最终得到:
再举一个例子。
location列的处理
location这一列有的数据形式是【城市+区】,为了统一格式,我们可以使用前文提到的条件列进行。
完成。
总结:
- excel的power query(以下简称pq)是一个非常强大的插件,它使得数据量很小的情况下清洗数据变得极为简单,省时省力;
- 操作简单的弊端就是数据处理得不精细,复杂处理需要换条件重复同一个步骤多次;
- pq的替换是模糊替换,使用起来不太方便,这时候可以借助条件列来得到自己想要的数据;