对账前的明细里,客户名称常带前后空格或「有限公司」后缀,金额单元格里又夹着千分位逗号、货币符号,占位用的 0、「无」和真正的空值混在一起,筛选和匹配都会对不上。
如果靠 Excel 查找替换,一次误选整列就可能把不该动的字符换掉;去空格、去符号、改空往往要来回做好几遍,也无法沉淀成可复跑的清洗节点。
DT-Bot 的 「行操作」 算子专为解决此类单元格内文本与占位值清洗而设计。它支持去空格、替换、提取、去掉千分位或货币符号、把指定值改成空,以及用同行其它列补空、在明确规则下做单位换算。默认就地改原表,不改变行数和行序。按条件删行、去重、排序请用「表操作」;按 A1 地址改某一格请用「格子编辑」;整列日期/时间统一成某种写法请用「列类型转换」。
一、 核心能力与适用场景
「行操作」算子聚焦于单元格内容改写、表结构不动,覆盖以下核心能力:
| 核心能力 | 解决什么业务问题 | 典型业务场景 |
|---|---|---|
| 去空格、替换与提取 | 去掉前后空格,按明确文字替换或删除片段,或按规则从单元格抽出需要的内容。 | 客户名称去空格后再删掉「有限公司」后缀,才能和客商主数据匹配。 |
| 指定值改成空 | 把已经写上的占位值改成空,以便和真正的空值一起筛。 | 金额里的 0、备注里的「无」改成空,再交给筛选或缺失填充。 |
| 去掉千分位或货币符号 | 只去掉数字单元格里的装饰符号,不改列类型。 | 金额是 1,234.5、¥88,去掉逗号和货币符号后才能参与计算。 |
| 同行其它列补空 | 空着的格子用同一行已经有的列抄过来或算出来;不从别的表取数,也不用上一行往下填。 | 客户全称为空时,用同行客户简称填上。 |
二、 边界指南:它与相近算子有何区别?
在构建数据工作流时,理解算子之间的职责边界至关重要:
| 比较维度 | 「行操作」算子 | 「表操作」算子 | 「格子编辑」算子 | 「列类型转换」算子 |
|---|---|---|---|---|
| 主要定位 | 单元格内文本字符清洗 | 整表行集合与行序治理 | 按格子地址读写某一个或一块单元格 | 整列日期/时间/类型写法统一 |
| 输出机制 | 就地更新原表(行数、行序不变) | 就地删行/去重/排序 | 查询不改表;写入默认同表就地 | 按该算子约定就地或另存 |
| 典型动作 | 去空格、替换、提取、去千分位、指定值改空 | 删行、去重、整表升降序 | 按 A1 改某一格、拷矩形 | 把日期列统一成同一种写法 |
| 如何选择 | “把客户名称前后空格和「有限公司」去掉” | “把作废单删掉,按时间排好” | “只改 D2 这一格,不要整列替换” | “下单日期整列改成统一日期格式” |
三、 提示词编写规范与公式
「行操作」算子支持自然语言直接表达,建议遵循以下标准的三要素编写公式:
【选表范围】 + 【改哪一列】 + 【怎么改】
提示词写清两件事:要处理哪张表(或全部表 / 前缀、后缀、包含);改哪个列、怎么改。
1. 目标表范围表达
- 单表精准点名:
“订单表” :...、“对账表” :...; - 批量范围:
全部表:...,或以某词开头 / 结尾 / 包含; - 默认当前流转表:未点名时继承上一节点流入的表。
2. 核心操作动作表达
- 去空格 / 替换:
去掉 “客户名称” 前后空格、再删掉名称里的 “有限公司”; - 提取:写清从哪一列、按什么规则抽出片段;
- 指定值改空:
把 “金额” 里的 0 改成空、把 “备注” 里的 “无” 改成空; - 去千分位 / 货币符号:
把 “金额” 去掉千分位逗号和货币符号; - 同行补空:
“客户全称” 为空时,用 “客户简称” 填上; - 单位换算:提示词写清换算规则(原文要求在明确规则下换算)。
3. 可复制示例
“订单表” :去掉 “客户名称” 前后空格,把 “状态” 里的 0 改成空。
多张表可以这样写:
全部表:把 “状态” 里的 0 改成空。
四、 核心功能与图解实战
以下结合真实企业数据场景,展示「行操作」在不同需求下的处理效果:
场景 1:去空格、替换文字(行数不变)
业务背景:财务对账前,客户名称带有前后空格和「有限公司」后缀,必须先洗成可与主数据对齐的简称,订单行一条都不能少、顺序也不能乱。
【处理前:订单表】
| 订单号 | 客户名称 | 状态 |
|---|---|---|
| O1 | 华为技术有限公司 | 已付 |
| O2 | 阿里巴巴集团有限公司 | 已付 |
【执行提示词】
“订单表” :去掉 “客户名称” 前后空格,再删掉名称里的 “有限公司”。
【处理后:订单表(就地更新)】
| 订单号 | 客户名称 | 状态 | 变更说明 |
|---|---|---|---|
| O1 | 华为技术 | 已付 | 去掉后缀,状态未动 |
| O2 | 阿里巴巴集团 | 已付 | 行数、行序与订单号均不变 |
逻辑详解:只改「客户名称」单元格内的字符;「状态」未点名则保持原样。需要从单元格里按规则抽出片段时,在提示词中写清列名与提取规则,同样不改行数行序。
场景 2:把已有值改成空(不是「只填空」)
业务背景:对账表里金额 0、备注「无」是占位,不是有效业务值;财务要把它们改成空,才能和真正的空值一起筛选或交给后续填充。
【处理前:对账表】
| 订单号 | 金额 | 备注 |
|---|---|---|
| O1 | 0 | 无 |
| O2 | 88 | (空) |
【执行提示词】
“对账表” :把 “金额” 里的 0 改成空,把 “备注” 里的 “无” 改成空。
【处理后:对账表(就地更新)】
| 订单号 | 金额 | 备注 | 变更说明 |
|---|---|---|---|
| O1 | (空) | (空) | 0 与「无」改为空 |
| O2 | 88 | (空) | 88 保留;原备注已空,保持空 |
逻辑详解:这是把已经写上的值改成空,不是「只填空」。行数仍为 2。若要从另一张表补空列,请用「匹配填充」;若只用本表上行往下填,请用「缺失填充」。
场景 3:去掉千分位、货币符号(不改列类型)
业务背景:销售明细从后台导出后,金额带着千分位逗号和货币符号,看起来是数,实际无法直接参与加减;财务只要去掉装饰符号,不要在这一步改列类型。
【处理前:销售明细表】
| 订单号 | 金额 |
|---|---|
| O1 | 1,234.5 |
| O2 | ¥88 |
【执行提示词】
“销售明细表” :把 “金额” 去掉千分位逗号和货币符号。
【处理后:销售明细表(就地更新)】
| 订单号 | 金额 | 变更说明 |
|---|---|---|
| O1 | 1234.5 | 去掉千分位逗号 |
| O2 | 88 | 去掉货币符号 |
逻辑详解:只改数字单元格里的装饰符号,不改列类型。行数、行序不变。若还要把该列正式转成数值类型,请在清洗后再用「列类型转换」。
场景 4:用同行其它列补空(不跨表、不向下填充)
业务背景:订单表客户全称有的为空,同一行已有客户简称;财务只允许用本行简称补全称,不能从客户主数据取数,也不能拿上一行的名称往下填。
【处理前:订单表】
| 订单号 | 客户全称 | 客户简称 |
|---|---|---|
| O1 | (空) | 华为 |
| O2 | 阿里巴巴集团 | 阿里 |
【执行提示词】
“订单表” :“客户全称” 为空时,用 “客户简称” 填上。
【处理后:订单表(就地更新)】
| 订单号 | 客户全称 | 客户简称 | 变更说明 |
|---|---|---|---|
| O1 | 华为 | 华为 | 全称为空,抄同行简称 |
| O2 | 阿里巴巴集团 | 阿里 | 全称已有值,不改 |
逻辑详解:补空范围仅限同一行已经有的列;不从别的表取数,也不用上一行往下填。跨表按键补列请用「匹配填充」;用上行非空往下填请用「缺失填充」。
五、 常见问题与操作贴士(FAQ)
Q1:为什么执行「行操作」后没有生成新表?
答:本算子默认就地更新原表的单元格,不另存副本。行数、行序、列名保持原样,只改点名列里的字符或指定值。若必须留一份清洗前底稿,请先用「复制表」,再对副本做行操作。
Q2:去空格、替换、改空时,会不会删行、换行序,或改到未点名的列?
答:不会。未写入提示词的列(例如场景 1 的「状态」)保持原样;也不会按条件删行或排序。整表删行、去重、排序请用「表操作」。只改某一个格子地址,请用「格子编辑」,避免整列替换误伤。
Q3:连续跑多条清洗提示词要注意什么?
答:后一条永远作用在前一条已经改过的单元格上。例如先删掉「有限公司」后,名称里已经没有这段文字,再跑同一条替换不会有第二次效果;先把 0 改成空后,金额列已是空,不能再当 0 来算。换规则前请确认当前单元格内容,或重新导入原始表。批量写
全部表:...时,请确认每张表都有该列,避免把不该动的表卷进来。
六、 关联算子导航
- 若需按条件删行、去重或整表排序:请参考 数据处理 · 表操作
- 若需按格子地址改某一格或拷一块区域:请参考 数据处理 · 格子编辑
- 若需把整列日期/时间统一成某种写法:请参考 数据处理 · 列类型转换
- 若需用上行非空或常数填本表空单元格:请参考 数据处理 · 缺失填充
- 若需按键从另一张表补列:请参考 数据处理 · 匹配填充