你不知道的Power Query技巧之标题升降与格式修正
标题的升降
CSV文件还有一个“兄弟”,那就是纯文本“TXT”文件,比如这一次用的示例(素材:03-各种拆.txt)。只不过这个示例文件尚未经过“异空间”的“炼化”,“幺蛾子”特别多。新建一个Excel工作簿,将其以【从文本/CSV】的方式导入以后,就可以看到它的“长相”了,可以看到,所有数据都“挤”在一列里,如图 3-18 所示。
【拆分列】这一步必不可少,直接以全角逗号拆分就可以了。
如图3-19 所示,拆分完成以后,“Column1.1”列标题行下面那条下框线相当“与众不同”,将鼠标指针悬浮上去会发现,原来是有错误值存在。通过预览窗格可以看到,产生错误值的原因是,其“原形” —— “日期”这两个字,与这一列的【日期】数据类型“不搭”。
解决这个问题的方法很简单,只要把“更改的类型”这一步骤“咔嚓”掉即可。只是这两个汉字,甚至是这一整行,怎么看怎么觉得像标题,可偏偏落在了最后一行。没关系,到【转换】选项卡下给它来个【反转行】操作,如图 3-20 所示,意思是把原来从上到下排列的,变成从下到上排列,标题就到最上面的第一行去了。
要点提示:将数据原顺序反转
【Power Query编辑器】→【转换】→【反转行】
但这样仍然不够,毕竟第一行的内容并不是真正的标题行,真正的标题行是一堆意义不大的“蚯蚓文”。遇到这类情况,可以用【将第一行用作标题】命令把第一行的内容提升,让它成为真正的标题行。这个命令在【主页】选项卡下有,如图 3-21 所示,在【转换】选项卡下也有,是同一功能的两个“传送门”。
要点提示:转换标题与第一行
提升标题:【Power Query编辑器】→【主页】或【转换】→【将第一行用作标题】
降级标题:【Power Query编辑器】→【主页】或【转换】→【将第一行用作标题】→【将标题作为第一行】(下拉选项)
标题提升以后,如果觉得刚才的【反转行】操作效果不太理想,可以再进行一次【反转行】操作,让数据恢复原来的顺序。
格式修正
操心完了“日期”列,接下来就该操心“品名”列了。“品名”列里的“蚯蚓文”一半全小写,一半全大写,虽然并不影响内容本身,但是没有哪个正规表格会欢迎这种“奇葩长相”。还好,【转换】选项卡下的【格式】下拉选项里的功能可以对“蚯蚓文”的大小写进行调整,或者全部改成【小写】,或者全部改成【大写】,或者【每个字词首字母大写】,如图 3-22 所示。无论选哪一个,都好过一半小写一半大写。
要点提示:更改英文字母的大小写
转换:【Power Query编辑器】→选取对象→【转换】→【格式】→【小写】或【大写】或【每个字词首字母大写】
添加:【Power Query编辑器】→选取对象→【添加列】→【格式】→【小写】或【大写】或【每个字词首字母大写】
最后就剩下右边的“销量单价”列了,这一列目测有很多空格。事实上,存在其中的并不只有空格,还有一些非打印字符。这就难办了,遇到肉眼看得见的空格,还可以用【替换值】将所有空格替换为空,而那些肉眼看不见的,又该如何处理呢?
现实中一些从各种系统导出的数据里,经常会出现空格和非打印字符,要顺利把这些字符处理掉,可以使用【转换】选项卡下【格式】下拉选项里的功能,其中的【清除】功能可以用于去除非打印字符;【修整】功能可以去除多余的空格,如图 3-23 所示。
要点提示:去除多余的空格和非打印字符
转换:【Power Query编辑器】→选取对象→【转换】→【格式】→【修整】和【清除】
添加:【Power Query编辑器】→选取对象→【添加列】→【格式】→【修整】和【清除】
相比之下,去除空格时更推荐使用【修整】功能,而不是【替换值】功能。因为【修整】只去掉多余的空格,比如每个单词之间的空格,不会对本就应该存在于各单词之间的空格“下手”,如果用【替换值】处理,所有单词就全部连在一起无法辨认了,如图 3-24 所示。