Excel 正则清理
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_8f803df1/excel-regex-clean。
技能介绍
要解决的具体问题
从 Excel 里清理文本时,最麻烦的不是不会写正则,而是三件事:正则模式不确定、大小文件处理策略不同、以及担心改坏原始文件。比如有一列 1.1 (新一代),你要么只留括号里的中文,要么删掉所有数字和点,要么把空格换成下划线。手工改慢,写脚本又怕误伤其他列。
@user_8f803df1/excel-regex-clean 来自 SkillHub 上的用户 8f803df1,把这件事拆成三种可预览的模式,并且默认不改原文件。
核心能力
该技能基于 Python re 模块实现正则匹配,根据文件大小自动选择底层库:
- extract:用捕获组
(...)圈出要保留的内容,例如1.1 (新一代)→新一代 - remove:匹配要删除的部分,例如
\d+删除数字,\.删除英文点 - replace:匹配后替换,例如空格 → 下划线,或
CN→中国
大文件(>10MB 或 >5万行)会走 XML 直接操作 sheet XML 的方案,官方称速度比常规方式快 4 倍。XML 方案严格限定在 sheet 层 + 列号,不碰 sharedStrings,改写的值以 inline string 写入,避免产生新的共享字符串引用。
关键步骤
整个流程分为五步,适合先预览再执行:
- 需求解析:把自然语言映射成模式和正则,例如“去掉申请日里的横线”对应
remove模式、正则- - 勘察:确认目标列和文件结构
- 规划:给出模式和正则,预览无误后执行
- 执行:生成
_cleaned.xlsx副本,原文件不动 - 验证:检查替换结果
适用边界与注意点
该技能适合对 Excel 中特定列做正则级别的文本变换,不适合做复杂数据清洗、跨表关联或公式计算。使用时需要注意:
- 自动生成
_cleaned.xlsx,不修改原文件 - 正则只处理目标列:XML 方案按列号限定,openpyxl 方案只遍历目标列
extract模式中正则不匹配的保留原样.、(、)、\等特殊字符需要转义- 建议先预览变换效果再执行
- 操作前必须自动备份,遵循
[[excel-safe-workflow]];成功后保留最新 3 份,失误后从备份恢复 - 遵循
[[excel-safe-workflow]]的安全流程
如果你只是需要对 Excel 中一列文本做正则提取、删除或替换,这个技能比手写脚本更可控,尤其是大文件场景下 XML 方案的表现值得关注。
使用场景
- 审专利申请表时,用正则只保留新兴产业列括号里的中文,删掉数字和点。
- 处理申请日列,用正则删除横线,保留可读日期格式。
- 产品名称列空格替换为下划线,生成符合系统要求的编码。
- 从混合文本中只提取英文字母,清理包含中文和数字的单元格。
适合人员
- 处理专利申请表格的法务,需要正则提取或删除特定列内容。
- 分析销售数据的分析师,要把表格中混合文本按规则清洗。
- 维护系统导入文件的工程师,需将产品名称空格替换为下划线。