它解决什么问题
整理表结构这件事通常要好几步:删掉用不上的列、把列名改成业务说法、调一下顺序、再把某列类型转对。串四个节点做完,画布很长,改一处要点开四次。
这个节点把这四件事收进一张表格式的配置界面 – 一行一列,每行设它保留不保留、叫什么名、什么类型、排第几。
Table Manipulator四件事一次做完
上面是不用它的样子,下面是用它的样子。
基本信息
| 英文原名 | Table Manipulator |
|---|---|
| 中文名称 | 表结构整理(iModel 中文界面) |
| 输入端口 | 1 个起,可以拖动节点下缘增加。多个输入会被纵向拼起来 |
| 输出端口 | 1 个 |
| 能做什么 | 保留或删除列、改列名、改列类型、调列顺序 |
多输入是它一个被低估的能力。几张结构相近但列名或顺序不完全一致的表,接进多个输入端口,在这里统一成一套结构并自动拼起来 – 比先各自整理再 Concatenate 干净得多。
配置项逐条
-
列的变换表Transformation
一行一列,每行可以设:是否保留、新列名、新类型、排在第几位。拖动行可以调顺序。这是它的主体。
-
未知列如何处理Unknown columns
下次数据里出现了配置时不存在的新列,是保留还是丢弃,以及插在哪个位置。这一项决定这条流程明年还能不能跑 – 和 Column Filter 的「以包含为准 / 以排除为准」是同一件事。
固定输出格式的报表选丢弃,输出结构才稳定;要把源表所有信息带下去的选保留。
-
列不存在时Missing columns
配置里点名的列这次没出现,是报错还是跳过。做核对类工作建议选报错 – 它会拦住你,而不是让流程带着缺失字段跑下去。
Table Manipulator 配置对话框
列变换表Transformation
资产编号 → 保留 · 文本 · 第 1 位
所属部门 → 保留 · 文本 · 第 2 位
原值 → 保留 · 改名「资产原值」· 数值 · 第 3 位
备注 → 删除 一行一列,四件事在同一行里设完。
所属部门 → 保留 · 文本 · 第 2 位
原值 → 保留 · 改名「资产原值」· 数值 · 第 3 位
备注 → 删除 一行一列,四件事在同一行里设完。
未知列如何处理Unknown columns
丢弃保留并放在最后
决定源数据新增列时的行为。固定格式报表选丢弃。
点名的列不存在时
报错跳过
核对类工作选报错,让问题在这里暴露。
三个常见坑
- 它做的事在画布上看不出来。四件事都藏在配置里,别人接手时看到的只是一个方框。建议在节点上加一句注释说明它做了什么 – 这是用它换来的简洁需要付的一点代价。
- 类型转换失败会中止。它能改类型,但改不动脏数据。文本列里有「N/A」还想转成数值,一样会失败。先清洗再来这里。
- 多输入时列名对不齐。几张表的同一个字段列名有细微差异(多个空格、全角括号),会被当成不同的列。多输入之前先确认列名一致。
什么时候不用它
| 情况 | 用什么 |
|---|---|
| 只是删几列 | Column Filter,配置更直观,别人一眼看得懂 |
| 只是改一两个列名 | Column Renamer |
| 要给下游立稳定接口 | 两者都行。用 Column Renamer 的好处是意图明确 |
| 要改的是行不是列 | Row Filter |
不要为了少一个节点而牺牲可读性。KNIME 相对写脚本的优势就是画布上看得见每一步做了什么。一个 Table Manipulator 顶四个节点,画布是短了,但交接的人得挨个点开配置才知道发生了什么。步骤简单时,分开摆反而更好。

