合并多个Excel文件(每个文件包含多个sheet表)

应用场景

工作中有不少情况下,会遇到多个Excel文件,比如

  • 各省一个excel文件,每个文件内又有12个不同月份的sheet工作表。
  • Excel单个工作表行数存在限制,因此拆分为每个Excel文件内多个sheet工作表

此时,就需要将多个文件进行数据合并(假定数据结构是相同的,即使列名和顺序一致),这样才方便进行总体的数据统计和分析

数据文件

Knime工作流

合并多个Excel文件(每个文件包含多个sheet表)

利用Knime合并多个Excel文件

思路简介

  1. 获取读取Excel文件的列表(此时也可以根据文件名或后缀进行过滤筛选,可以读取子文件夹)
  2. 先读取第一个Excel文件(工作薄),假定该文件内有5个工作表(sheet),获取该文件的工作表名的列表(sheet name),逐一循环读取各工作表,循环结束合并所有工作表(上图中最内部的循环)
  3. 然后读取第二个Excel文件,过程如前,所有Excel文件读取完毕后,循环结束时合并所有数据结果(Loop End为上下工作表数据合并)
  4. 合并结果可导出为Excel或其他文件格式

重要节点说明


1、List Files 读取文件列表

合并多个Excel文件(每个文件包含多个sheet表)

合并多个Excel文件(每个文件包含多个sheet表)

可以使用后缀或正则表达式过滤,选择需要的文件


合并多个Excel文件(每个文件包含多个sheet表)

待合并的3个文件


合并多个Excel文件(每个文件包含多个sheet表)

其中1个setosa文件数据示例


2、读取工作表名sheet name(选择流变量URL,这个变量从上一个节点获得)

合并多个Excel文件(每个文件包含多个sheet表)

读取指定文件的所有工作表名

3、读取文件

合并多个Excel文件(每个文件包含多个sheet表)

设置文件路径,工作表名

合并多个Excel文件(每个文件包含多个sheet表)

4、其他节点说明

1,2节点无需设置,连线即可,3,4根据需要是否收集合并次数,使用默认即可

最后导出数据时,可选选择是否导出工作表头,以及选择列名(column)


合并多个Excel文件(每个文件包含多个sheet表)

小结

可以将此作为一个模板,只需修改文件的输入、输出,确认读取文件的设置,即可后续重复使用,初学者可能还不熟悉循环,流变量的使用,可能看不懂,没关系,以上只是作为一个展示,后续将从入门知识开始逐一介绍,有遇到数据处理的一些问题,也欢迎私信留言。


分享到:


相關文章: