SKILL.md
4.8 KB查看排版效果| 1 | --- |
| 2 | name: data-cleaning-check |
| 3 | description: "给 Excel/CSV 表格做数据体检,按固定清单揪出空值、重复行、格式不一致、单位混用、日期错乱、编码异常等问题,并给出处理顺序与校验方法。用户说“帮我看看这张表有没有问题”“数据清洗”“这表对不上”“去重”“格式乱了”时使用。Audit a spreadsheet for dirty data and return a prioritized cleaning checklist." |
| 4 | --- |
| 5 | |
| 6 | # 表格数据清洗助手 |
| 7 | |
| 8 | 给一张 Excel / CSV 表做数据体检,找出脏数据,给出按优先级排好的处理步骤和校验方法。 |
| 9 | |
| 10 | **能做什么**:读用户提供的表格(或用户描述的表结构),输出问题清单 + 逐条处理办法 + 清洗后的校验方法。 |
| 11 | **带不带脚本**:不带任何脚本,纯文字说明。需要实际改动数据时,按说明逐步操作或交给表格处理工具。 |
| 12 | **联不联网**:不联网。 |
| 13 | **写不写文件**:默认在对话里输出体检报告;用户要求清理后的文件时才生成新文件,**不覆盖原表**。 |
| 14 | |
| 15 | ## 什么时候用 |
| 16 | |
| 17 | - 用户说“帮我看看这表有没有问题”“数据清洗”“这表对不上”“去重”“格式乱了”。 |
| 18 | - 要做透视、汇总、导入系统之前,先过一遍这张表。 |
| 19 | - 两批数据要合并,先确认口径一致。 |
| 20 | |
| 21 | ## 怎么做 |
| 22 | |
| 23 | ### 第一步:先问清楚(用户没说明时) |
| 24 | |
| 25 | 1. 这张表最终要干什么用(导入系统 / 做透视 / 合并 / 对账)——用途决定哪些问题必须修、哪些可以放着。 |
| 26 | 2. 表的行数量级(几十行还是几万行)——决定手工改还是批量处理。 |
| 27 | 3. 哪些列是**关键字段**(编号、日期、金额、数量这类),关键字段零容忍。 |
| 28 | |
| 29 | ### 第二步:按清单体检 |
| 30 | |
| 31 | 逐项检查,**每一项都要给结论:有问题 / 没问题 / 无法判断(说明原因)**。 |
| 32 | |
| 33 | 1. **表头**:是否只有一行表头;有无合并单元格;列名有无重复、有无空列名;是否有前后空格。 |
| 34 | 2. **空值**:每列空值数量与占比。关键字段的空值必须列出行号,不能只说“有 12 个空值”。 |
| 35 | 3. **重复**:完全重复的行;以及**关键字段重复但其他列不同**的行(这类才是真正要人判断的)。 |
| 36 | 4. **格式一致性**:同一列里数字被存成文本、前后空格、全角半角混用、中英文括号混用。 |
| 37 | 5. **单位混用**:同一列里出现“100 套 / 100套 / 100 PCS / 100件”;金额列出现“元 / 万元”混排——这是最容易算错的地方,必须逐行确认。 |
| 38 | 6. **日期**:格式是否统一(`2026-11-02` / `2026/11/2` / `20261102` / Excel 序列号);有无非法日期(2 月 30 日);时间跨度是否合理(有无 1900 年这种默认值)。 |
| 39 | 7. **数值异常**:负数出现的位置对不对;极大极小值(疑似多打一个 0);金额与数量相乘后与合计列是否对得上。 |
| 40 | 8. **编码与其他**:中文乱码、换行符混入单元格、隐藏行列、筛选状态下被漏掉的行。 |
| 41 | |
| 42 | ### 第三步:给处理顺序 |
| 43 | |
| 44 | **必须按这个顺序做,顺序错了会返工**: |
| 45 | |
| 46 | 1. 备份原表(另存一个带日期的副本,不要在原表上直接改)。 |
| 47 | 2. 先统一格式(文本转数字、去空格、统一单位),再判断重复和空值。 |
| 48 | 3. 去重:先删完全重复的行;关键字段重复的**列出来让用户判断**,不要自动删。 |
| 49 | 4. 补空值或标记:能反查的(如按编号回填)就回填,不能反查的标 `待补`,**不要填 0、不要填上一行的值**。 |
| 50 | 5. 校验:清洗后重新跑一遍第二步的清单,并核对总行数变化(删了多少、为什么删)。 |
| 51 | |
| 52 | ### 第四步:输出格式 |
| 53 | |
| 54 | ``` |
| 55 | ## 表格体检报告 |
| 56 | |
| 57 | **表名/来源**: |
| 58 | **行数**:清洗前 X 行 |
| 59 | **关键字段**: |
| 60 | **用途**:导入系统 / 透视 / 合并 / 对账 |
| 61 | |
| 62 | ### 问题清单 |
| 63 | | 序号 | 项目 | 严重度 | 具体情况 | 处理办法 | |
| 64 | |---|---|---|---|---| |
| 65 | | 1 | 单位混用 | 高 | 数量列有「套」和「PCS」两种写法,共 37 行 | 统一为「套」,逐行确认换算 | |
| 66 | |
| 67 | ### 建议处理顺序 |
| 68 | 1. …… |
| 69 | 2. …… |
| 70 | |
| 71 | ### 需要你决定的 |
| 72 | - …… |
| 73 | |
| 74 | ### 清洗后校验 |
| 75 | - 行数:X → Y(删除 Z 行,均为完全重复) |
| 76 | - 关键字段空值:0 |
| 77 | ``` |
| 78 | |
| 79 | **严重度**定义:`高` = 会导致算错或导入失败;`中` = 影响可读性与后续汇总;`低` = 观感问题。 |
| 80 | |
| 81 | ## 必须遵守 |
| 82 | |
| 83 | - **不在原表上直接改**,先让用户备份或另存副本。 |
| 84 | - 关键字段重复、单位不一致这类**需要业务判断的,列出来让用户定**,不自动删、不自动换算。 |
| 85 | - 缺失值不许用 0、均值、上一行值填充冒充真实数据;标 `待补`。 |
| 86 | - 报告里不出现用户表格中的敏感内容(人名、客户名、电话、金额明细);需要举例时用「第 X 行」代替。 |
| 87 | - 行数、占比这类数字必须真算,不许估算。 |
文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。

