节点手册 · 行列操作

KNIME Table Manipulator 一个节点整理表结构

Manipulation → Column → Convert & Replace

删列、改名、调顺序、改类型,四件事在一个配置窗口里做完。替代串一排 Column Filter 和 Column Renamer。

它解决什么问题

整理表结构这件事通常要好几步:删掉用不上的列、把列名改成业务说法、调一下顺序、再把某列类型转对。串四个节点做完,画布很长,改一处要点开四次。

这个节点把这四件事收进一张表格式的配置界面 – 一行一列,每行设它保留不保留、叫什么名、什么类型、排第几。

Column Resorter调顺序
Table Manipulator四件事一次做完

上面是不用它的样子,下面是用它的样子。

基本信息

英文原名Table Manipulator
中文名称表结构整理(iModel 中文界面)
输入端口1 个起,可以拖动节点下缘增加。多个输入会被纵向拼起来
输出端口1 个
能做什么保留或删除列、改列名、改列类型、调列顺序
多输入是它一个被低估的能力。几张结构相近但列名或顺序不完全一致的表,接进多个输入端口,在这里统一成一套结构并自动拼起来 – 比先各自整理再 Concatenate 干净得多。

配置项逐条

  • 列的变换表Transformation

    一行一列,每行可以设:是否保留、新列名、新类型、排在第几位。拖动行可以调顺序。这是它的主体。

  • 未知列如何处理Unknown columns

    下次数据里出现了配置时不存在的新列,是保留还是丢弃,以及插在哪个位置。这一项决定这条流程明年还能不能跑 – 和 Column Filter 的「以包含为准 / 以排除为准」是同一件事。

    固定输出格式的报表选丢弃,输出结构才稳定;要把源表所有信息带下去的选保留。

  • 列不存在时Missing columns

    配置里点名的列这次没出现,是报错还是跳过。做核对类工作建议选报错 – 它会拦住你,而不是让流程带着缺失字段跑下去。

Table Manipulator 配置对话框
列变换表Transformation
资产编号 → 保留 · 文本 · 第 1 位
所属部门 → 保留 · 文本 · 第 2 位
原值 → 保留 · 改名「资产原值」· 数值 · 第 3 位
备注 → 删除 一行一列,四件事在同一行里设完。
未知列如何处理Unknown columns
丢弃保留并放在最后 决定源数据新增列时的行为。固定格式报表选丢弃。
点名的列不存在时
报错跳过 核对类工作选报错,让问题在这里暴露。

三个常见坑

  1. 它做的事在画布上看不出来。四件事都藏在配置里,别人接手时看到的只是一个方框。建议在节点上加一句注释说明它做了什么 – 这是用它换来的简洁需要付的一点代价。
  2. 类型转换失败会中止。它能改类型,但改不动脏数据。文本列里有「N/A」还想转成数值,一样会失败。先清洗再来这里。
  3. 多输入时列名对不齐。几张表的同一个字段列名有细微差异(多个空格、全角括号),会被当成不同的列。多输入之前先确认列名一致。

什么时候不用它

情况用什么
只是删几列Column Filter,配置更直观,别人一眼看得懂
只是改一两个列名Column Renamer
要给下游立稳定接口两者都行。用 Column Renamer 的好处是意图明确
要改的是行不是列Row Filter
不要为了少一个节点而牺牲可读性。KNIME 相对写脚本的优势就是画布上看得见每一步做了什么。一个 Table Manipulator 顶四个节点,画布是短了,但交接的人得挨个点开配置才知道发生了什么。步骤简单时,分开摆反而更好。

换一批数据后列对不上

查「未知列如何处理」和「点名的列不存在时」这两项 – 它们决定了源数据结构变化时的行为。

iModel 专属客服
在线留言或电话联系
在线留言

留下您的问题和联系方式,我们会在一个工作日内回复。

手机与邮箱至少填一项

4008568196 拨打此号码联系我们

微信扫码咨询

iModel 微信咨询二维码

使用微信扫描上方二维码