KNIME相关视频教程,请移步B站,搜索“星汉长空”,多谢支持!
背景:当我们使用KNIME的数据读取节点,读入多种数据格式文件(Excel,csv,txt,json等等)当中的日期时间信息,它们的格式并不一定完全相同。为了统一格式,同时为了后面使用KNIME日期处理节点进行深入处理,都需要将多种日期格式的数据进行类型转换,转换成KNIME内置的日期时间数据格式。
目标:对多种数据源文件中的众多日期时间信息格式,进行统一处理,使其相互兼容,便于整理汇总。
(注:例如,20080808,2008-08-08,2008/08/08,2008-8-8,8/8/2008等等)
步骤1. 如图所示,在KNIME中加入Table Creator节点。
步骤2. 在Table Creator节点中,双击单元格,输入三行样例日期格式数据。
步骤3. 拖入String to Date&Time节点,进行字符串转日期时间格式操作。
步骤4. 进入String to Date&Time节点进行配置,这里情况很多,以此情况为例,可以举一反三。
步骤5. 通过观察,当前只有日期,可以在Type and Format Selection框的New type中选择类型为Date,否则可能出现类型不一致的错误。
步骤6. 在Date Format这里,点击下拉菜单,可以看到许多常用的日期时间格式,可以选择相应的格式与我们的数据相匹配。
步骤7(*重点*). 容易被很多人忽略的是,步骤6不仅可以选择日期时间格式,还支持手动输入时间格式,可以通过观察读取的日期时间格式特点来进行相应设置,这样灵活性、适用性就一下子开拓了。
(注:如图中所示,日期格式仅月份中存在单字符的情况,即****/9/**,而不是****/09/**,这样如果我们选择对应的日期格式为yyyy/MM/dd,yyyy代表年,MM代表两位的月,dd代表两位的日,就会出现识别错误。我们应该相应将MM,改为M,设置日期格式为yyyy/M/dd,即可实现兼容,将日期格式顺利转化为KNIME日期时间格式。)
解释1. 何为KNIME?KNIME数据分析平台是一款强大开源的数据挖掘软件平台,可以固化数据处理的流程,在人与人,人与机器之间进行传递。
解释2. 如果日期中也存在单字符应该怎么办?比如日期格式为2008/8/8,这时候使用yyyy/M/dd格式进行匹配也会出现错误。需要一点拓展的想象力,将格式改为yyyy/M/d即可匹配成功。由于日期时间的格式可能非常复杂多样,靠死记硬背是不现实的,我们应该深入了解日期格式的特点和规律,针对不同的情况,相机行事,灵活应对。
曹操《孙子注》中写到:“临敌变化,不可先传,料敌在心,察机在目。”