如何利用PowerQuery合并文件下的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用PowerQuery合并文件下的文件相关的知识,希望对你有一定的参考价值。
参考技术A 假设某个文件夹下,有这样的3个文本文件(部门1,部门2,部门3,当然,可以是4个,5个,并可能随时增加)。我们需要用Power Query把该文件夹下的所有文本文件中的内容追加到同一个工作表中,以便进行分析。我们看到,在该文件夹下,不仅仅有文本文件,还有Excel文件,这不要紧,只要我们明确地告诉Power Query只取该文件夹下的文本文件即可。首先,点击"Power Query》获取外部数据》从文件》从文件夹"按钮。
在接下来的“文件夹”对话框中,选择要合并的文本文件所在的文件夹的位置。然后点击"OK"和"确认"按钮。
这时进入Power Query查询编辑器界面,在这个界面中,我们看到了所选文件夹下的所有文件列表。在这里我们只对该文件夹下的文本文件感兴趣。因此,我们下面对该列表中的"Extention"(文件扩展名)列进行筛选。按照图示进行操作,只保留.txt文件。
筛选结果如下,我们看到,现在的文件列表中只保留了txt文本类型的文件,下面的任务是把文本文件中的内容显示在查询结果中。我们看到,在文件列表的第一列
的标题是Content(文件内容),在Content标题边上有一个"向下的两个小箭头"的图表,点击这个图表可以显示列表中文件的内容,我们点击它。
这时,我们看到了每一个文本文件的内容(从第22行开始,是第2个文本文件中的内容)。美中不足的是,除了第一个文件,后面的每一个文件的标题都被当做了普通记录,这可不行!
通过观察发现,数据的第一列是工号,里面是文本型的数字,作为解决方案之一,我们可以通过把该列数据转换成数字,这时,不能转换成数字的内容会显示为错误符
号,然后我们再通过删除错误行,得到我们需要的结果(这里只是为了显示Power
Query的功能,事实上,我们工作中遇到的文本文件内容五花八门,需要各种灵活的方案)。
选中工号列,然后点击"转换》数据类型"按钮,在展开的下拉列表中选择"整数",我们看到,文本文件标题行中的文字"工号"变成了Error标识。我们下一步可以通过"删除错误"来删除这些行。
点击"主页》减少行》删除错误"按钮。
我们看到,错误行没有了,这正是我们需要的结果。观察Power Query界面的右下角,可以看到,我们的前面所做的操作步骤都记录在这里了。
点击"主页》关闭&加载",把结果加载到Excel工作表。我们看到,指定文件夹下所有文本文件中的内容都已经合并单一的工作表中来了。当文件夹下有新的"同构"的文本文件时,我们只要点击"查询》数据》刷新"即可得到最新数据(或者鼠标右键菜单"刷新")。
PowerQuery
参考技术A 查询设置位置加入新文件
查询编辑器里无法直接更改数据,需要在上面的功能区里更改数据
合并文件: 合并查询(横向合并),追加查询(纵向合并)
选择多个表格 :按shift
如果报错,第一个查数据类型是否错误
修整和清除
拆分列
合并列
替换
判断奇偶数
删除规则: 默认保留第一行
排序和删除重复项同时使用会有冲突,解决办法: 转换---检测数据类型(排序后的箭头要消失)
保留重复项同理
先改数据类型制造错误,然后直接删除错误
行列互换
二维转一维,找二维表中以行的形式出现的字段,把这些字段进行逆透视(一维表:一个指标只有一个列;二维表:同个指标很多列)
一维转二维,找一维表中以列的形式出现的字段,把这些字段进行透视
数字排序按照,1,10,11,12,~19,2,20,21......的顺序,用怕排序更改
值为文本时,选择不要聚合
基本
第一行内容是选择分组条件
新列名:新建的列命名 操作:进行各种操作 柱:进行操作的列
高级
可以添加多个选择分组的条件
所有行
展开:打开选中列的信息 聚合:对选中列进行计数和求和
条件列:创建一个按条件添加当前所选列中的值的新列
索引列:创建一个新的列,其索引从0,1,或者自定义的数开始
重复列:创建一个新的列,复制当前所选列的值
自定义列(所有公式内的标点符号的都用英文输入法)
条件列文本:公式:“文本”
数值运算:公式:插入一个可用列+,-,*,/插入一个可用列
条件列:公式:
怎么将仅创建连接的数据导入工作表:查询和链接找到查询,然后右键点击加载到
若列名顺序不同,则合并时列名自动按照当前表格的列名顺序排序
若列名不同,则合并后自动生成空格
求每个区域内产品分类的金额
求每个区域每个产品的折扣金额
左外部:A,B,C,D,E; D,E
右外部:D,E; D,E,F,G
完全外部:A,B,C,D,E; D,E,F,G
内部:D,E; D,E
左反:A,B,C;
右反: ;F,G
以上是关于如何利用PowerQuery合并文件下的文件的主要内容,如果未能解决你的问题,请参考以下文章