当前位置:首页 > 技术分析 > 正文内容

利用Knime合并多个文件(无需代码,比Python更简单)

ruisui883个月前 (02-03)技术分析20

Knime有数据科学界“瑞士军刀”的美誉,在未正式开始介绍Knime入门基础操作之前,我想选择其中一个场景来展示下Knime的功能,让诸位判断,这是否就是你要找的。

很多时候我们经常遇到合并多个相同结构的CSV文件,或者Excel文件尤其合并多个Excel文件更多。一下场景你遇到过吗?后续入门课程中,有了基础后再详细讲解,先对场景1做一个展示,Knime是如何实现的

Excel不同的文件合并场景

  1. 指定文件夹内有多个Excel文件(子文件夹可能也有Excel)
  2. 一个Excel文件内有多个sheet表,比如每个月份一个表,如何快速合并,而不是复制粘贴
  3. 多个Excel文件,每个Excel文件内有多个sheet表(1,2场景的综合)
  4. 多个Excel文件,每个Excel文件内虽有多个sheet表,只选择特定名称的表(而不是都选择,因为单个Excel文件内的多个sheet表,结构并不相同)
  5. 更要命的是,多个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等等)。

但上述示例,简单修改即可使用,无需一行代码。需要示例请私信留言,若执行示例有疑问请在本文留言

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/642.html

标签: node xlsx
分享给朋友:

“利用Knime合并多个文件(无需代码,比Python更简单)” 的相关文章

Slackware 15.0?发布:历史最久且在维护的Linux发行版本

Slackware 14.0 于 2012 年发布,在经过了数年的等待之后 Slackware 15.0 发行版本于今天正式发布。Slackware 于 1993 年发布,是目前历史最悠久、且仍在维护的 Linux 发行版本。Slackware 15.0 在去年进入测试阶段,在发布几个候选版本之后终...

vue项目-父页面数据变化使子页面更新的几种情况

当操作页面时候,特别是增删改操作之后,数据会有所改变,这个时候我们希望组件中的数据要和最新数据一致,就需要重新更新渲染。以下是针对几种不同情况下方式:一.子页面调用接口后重新渲染1.使用ref方式父组件中用ref=“xxx” 来声明子组件,然后通过在父组件值改变的地方来调用子组件中的方法this.$...

一起学Vue:路由(vue-router)

前言学习vue-router就要先了解路由是什么?前端路由的实现原理?vue-router如何使用?等等这些问题,就是本篇要探讨的主要问题。vue-router是什么路由是什么?大概有两种说法:从路由的用途上来解释路由就是指随着浏览器地址栏的变化,展示给用户的页面也不相同。从路由的实现原理上来解释路...

推荐一个Java微服务商业级Sass开源电商小程序(开源,企业级项目)

使用Java微服务开发,SpringBoot2框架、MyBatis-plus持久层框架、Redis作为缓存、MySql8作为数据库。 前端vuejs作为开发语言,使用uniapp编码,同时支持微信小程序、安卓App、苹果App。 支持集群部署,单机部署。 unimall 针对中小商户、企业和个人消...

微信将研发“应用号”体系 或成为App大杂烩应用

Akiha发表于 2016-01-11 18:11微信正在探讨一种新的公众号形态,即在现有的订阅号、服务号之外,再研发新的“应用号”体系。让用户不必去装各种 App,在微信里就能实现各种服务、功能;关注后,“应用号”平时不向用户发送消息,需要时,用户再去点开“应用号”等。目前,微信钱包内已有的服务,...

原生微信小程序打包成安卓/IOS应用!#小程序开发

原生微信小程序打包成公。好消息,微信小程序可以直接打包成APP了你们知道吗?微信团队近日开发了一个多端开发平台。多端据文档描述,多端开发框架是支持使用小程序原生语法开发移动端应用的框架。开发者可以一次编码分别编译为小程序安卓以及iOS应用,实现多端开发。我们进入多端框架开发的文档,来看看怎么使用微信...