把 Excel 名单贴进系统报错、从 PDF 复制的段落每行结尾多出空格、收集表里同一人名出现三种写法——这些不是数据「脏」,而是不同软件对空白和字符的处理口径不同。下面 6 种套路覆盖日常九成的文本清洗需求。
顺序错了会白干。推荐流水线:先清理不可见字符 → 再统一大小写与全半角 → 删空行压缩空白 → 去重 → 最后 Trim 首尾。逻辑是:先把「长得不一样但其实相同」的东西归一化,去重才有意义;Trim 放最后是因为中间步骤可能产生新的首尾空格。
原始数据:Excel 导出、两列、含 12% 重复行。处理过程:清理不可见字符后,肉眼没变化但程序比对成功率从 82% 升到 100%;邮箱统一小写后重复行从 360 行涨到 512 行——多出来的 152 行就是大小写不同造成的「假不重复」;去重、Trim 后得到 2948 行干净名单。整个过程 3 分钟,手工核对要一整天。
同样的清洗每周都做一遍,就该把它固化。三步升级路径:第一次手工跑通顺序并记录每步用了什么功能;第二次把固定操作写成一页 SOP(顺序、参数、异常处理),交给同事也能跑出同样结果;频率再高就脚本化——一条命令串起「清理 → 归一化 → 去重 → Trim」。关键认知是:清洗的价值在可复现。同样一批数据两次清洗结果不一致,比脏数据本身更可怕,因为它意味着下游统计对不上账。保留原始文件、记录每一步操作,这两件事的成本只有几分钟,却能在三个月后对不上数时救你一命。
问:清洗会破坏原文吗?
只删「零宽度字符、控制字符、多余空白」这类无语义内容,文字本身不动。稳妥起见先留一份原始副本,清洗后用文本比较工具 diff 一遍。
问:全角转半角会把英文文章转坏吗?
英文本身是半角,不受影响。受影响的只有全角数字、字母和标点——中文排版里刻意用全角标点是合理的,按需选择只转数字字母还是全部转换。