AI 清洗表格适合解决“同一列有好几种写法”的问题,例如金额带货币符号、商品名称前后有空格、数量漏填。它不适合替你猜订单事实。本文从一份小型 CSV 入手,先定义规则,再清洗和对账。准备 Excel 或其他表格软件,以及可分析文本或文件的 AI 工具即可。

一、先保留原表,再做一份演示数据
建立原始数据、清洗结果、异常清单三个文件或工作表。原表只读,给每行增加稳定的源行号。源行号用来追踪修改,不要在排序后重新生成。
复制下面内容保存为 UTF-8 的 sample.csv。订单号一列要按文本导入,保留前导零。
source_row,order_id,product,quantity,unit_price
1,001,键盘,2,199
2,002, 鼠标 ,1,99.00
3,002, 鼠标 ,1,99.00
4,003,显示器,,899
5,004,支架,2,¥59
本例第三行是第二行的完全重复记录,但不能把所有重复订单号都删除。实际业务中,一张订单可能合法地包含多种商品,因此去重依据必须写清楚。
二、给 AI 清洗表格写一份规则
先让 AI 列出候选异常,不急着让它修改文件。确认实际存在的问题之后,使用这份明确的处理约定:
按以下规则清洗,不覆盖原始文件:
1. order_id始终为字符串,保留前导零。
2. product去掉首尾空白,内部文字保持不变。
3. quantity缺失时不猜,转入异常清单。
4. unit_price只删除本例中的¥符号,再解析为数值。
5. 仅当order_id、product、quantity、unit_price全部相同才视为重复。
6. 重复时保留source_row最小的行,输出被排除行及原因。
7. 输出有效行、异常行、重复排除行;每行保留source_row。
8. 给出原始行数、三类行数及金额核对过程。
如果工具支持执行代码,可以让它同时给出清洗脚本和变更日志;不支持代码执行时,就先处理这五行,确认规则没有歧义,再在表格中实现。
三、用已知答案检查结果
这个演示的合格结果是:五条输入,三条有效,一条缺数量异常,一条重复排除。有效金额应为 398+99+118=615。显示器的金额不能自动算成 899,因为它的数量未知。
| 源行 | 处理 | 原因或结果 |
|---|---|---|
| 1 | 有效 | 2 × 199=398 |
| 2 | 有效 | 商品首尾空格移除,金额 99 |
| 3 | 排除 | 与源行 2 相同 |
| 4 | 异常 | 数量缺失,等待补录 |
| 5 | 有效 | 单价转换为 59,金额 118 |
首先核对行数守恒:5=3+1+1。然后逐项检查金额。AI 如果算出 1514,通常是把缺失数量默认成 1;如果算出 714,可能没有去掉重复行。
四、扩展到真实工作表
先抽取 20 到 50 行脱敏样本,包含正常、异常和边界情况。确认清洗逻辑之后,固定脚本或 Power Query 步骤再跑全表。不要每次更换一句提示词,让同一套数据得到不同口径。
全表运行后至少检查四件事:输入与输出行数能否对上,唯一订单数量有没有异常减少,金额总额变化来自哪些行,文本编号是否出现科学计数法。涉及不同货币时增加 currency 列,不能把美元和人民币直接相加。
五、交付一份可审计结果
推荐保留字段“原始值、标准化值、规则编号、处理状态”。例如价格从“¥59”变成 59,应记录为格式标准化;数量从空白变成 1 属于事实补录,必须有人工依据,两种变更不能混淆。
向同事解释差异时,用源行号列清单比说“AI 已经清理好了”更有说服力。后续新月份的数据也能复用相同规则。
六、常见问题与排错
上传后订单号前面的零没有了怎么办?
回到原始 CSV,通过导入预览把订单号设为文本。已经被覆盖的前导零不能靠 AI 可靠恢复,需要回源系统核对。
AI 建议删除异常值,可以照做吗?
先隔离,不直接删。极大金额可能是录入错误,也可能是真实大单。模型只能提示异常,不能替代业务判断。
为什么同一列日期总是变来变去?
类似 03/04 的日期有地区歧义。补充源系统地区和格式;无法确定的值进入异常表,输出标准统一为 YYYY-MM-DD。
下一步可用AI 数据分析与图表方法处理干净数据。CSV 导入操作可查阅 Microsoft 官方说明,程序处理规则可参考 Python csv 文档。