利用Knime合并多个文件(无需代码,比Python更简单)
Knime有数据科学界“瑞士军刀”的美誉,在未正式开始介绍Knime入门基础操作之前,我想选择其中一个场景来展示下Knime的功能,让诸位判断,这是否就是你要找的。
很多时候我们经常遇到合并多个相同结构的CSV文件,或者Excel文件。尤其合并多个Excel文件更多。一下场景你遇到过吗?后续入门课程中,有了基础后再详细讲解,先对场景1做一个展示,Knime是如何实现的
Excel不同的文件合并场景
- 指定文件夹内有多个Excel文件(子文件夹可能也有Excel)
- 一个Excel文件内有多个sheet表,比如每个月份一个表,如何快速合并,而不是复制粘贴
- 多个Excel文件,每个Excel文件内有多个sheet表(1,2场景的综合)
- 多个Excel文件,每个Excel文件内虽有多个sheet表,只选择特定名称的表(而不是都选择,因为单个Excel文件内的多个sheet表,结构并不相同)
- 更要命的是,多个excel文件的列名不统一,如何合并,比如有的列名“公司名”,有的表内是“企业名”,如何统一处理成相同列名的数据,然后再合并(列名称不一致,不能自动合并)
场景1:指定文件夹内有多个Excel文件
Knime实现操作
本例涉及循环处理,合并,流变量(flow variable)使用,仅做展示,后续再深入讲解。
节点配置说明
如何实现:只需要5个节点(node),配置3个节点(node)的参数,点击运行,即可循环读入各个文件。
- List Files 节点配置
- Excel Reader(xls)
- 查看结果 在Loop End点击运行后,再查看合并的结果
这是否就是你想要的简单方便,若需要数据和示例工作流,请头条私信
如何导入示例
你在Knime软件内导入工作流,根据你的情况,修改文件路径,再重新运行,即可看到合并后结果(可以使用我的示例数据,也可使用你自己的数据(此时注意表头行的位置需要根据情况修改),Excel文件内只有一个sheet表)
小结
以上只是一个展示,后续从基础讲起,让你数据处理不在难,更不需要Python编程,网上你随便找个合并文件的Python程序,至少二三十行,很多是“硬编码”,手动指定表名,列名之类的,即使有编程基础,也要先理解下,才能修改。没有编程基础的,只能看看,可能你还是无法使用。再说学习编程最大的成本是时间,很多函数的参数你是否能记住(查看帮助文档也是要时间的)。Knime图形化界面,进行配置即可,无需记忆那么多参数,使用熟练后,处理数据各种各样的数据更简单。
如果尝试VBA合并,比Python更麻烦,网上有小插件帮助合并,但是以上我列出的5个场景,恐怕就搞不定。学了VBA只能应用Excel。Knime可以处理各种数据文件,以及数据库(MySQL、Oracle,mongoDB等等)。
但上述示例,简单修改即可使用,无需一行代码。需要示例请私信留言,若执行示例有疑问请在本文留言