Excel表格去重
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_8f803df1/excel-deduplicate 到您的 AI 助手中。
技能介绍
问题
在 Excel 工作表里定位重复行并删除时,常见方案容易踩坑:普通 API 删除行可能触发整表重算或重写,保留格式较难,大规模工作表会变慢,误删后也难恢复。当目标是按关键列去重,同时保留单元格样式、公式关系和共享字符串时,需要更可控的底层处理。
工作方式
这个技能把流程拆成两个可控阶段:先由 excel-find-duplicates 做只读查重,定位关键列中需要保留或移除的行;确认范围后再进入删除阶段。删除不是走 openpyxl.delete_rows(),而是直接内嵌 XML 操作,移除目标行对应的 <row> 元素。该逻辑与 excel-delete 的行删除模式共用同一套实现;因此去重后如果还要额外删行,可再单独调用 excel-delete。
注意点
- 格式无损:只移除行级 XML 元素,不修改
styles.xml、sharedStrings.xml,减少样式与共享字符串被打乱的风险。 - 性能:官方说明 XML 方案比
openpyxl.delete_rows()快 10 倍以上。 - 备份先行:遵循
excel-safe-workflow第零步,操作前自动备份并使用时间戳命名;成功后保留最新 3 份,发现损坏立即删除坏文件并从备份恢复。 - 空值处理:关键列为
None的多行只保留第一行。 - 依赖:需要一次性准备好
lxml解析库。
使用场景
- 销售订单表存在相同客户与产品的重复记录,需按关键字段去重并保留原有样式
- 多部门上报的月度报表合并后存在重复条目,需清理冗余行且不破坏公式格式
- 大型数据表包含数千行重复数据,需要快速去重同时保持共享字符串完整
- 处理包含合并单元格的复杂报表,去重时需保留跨行合并的格式结构
适合人员
- 数据分析师:需要快速清理重复数据并保留原始表格格式用于后续分析
- 运营人员:处理多渠道汇总的订单表格,需要删除重复条目并保持格式一致
- 财务人员:合并多个部门的报销记录后需去重,同时保留金额格式和审批流程
- 表格开发者:需要直接操作XML底层结构实现高性能去重解决方案