Excel脏数据快速清洗模板

👤 Felix0530 📦 v1.0.3 ⭐ 4.8 ⬇️ 127 下载
📊 数据分析 免费

📖 技能介绍


name: excel-cleanup-quickstart display_name: Excel脏数据快速清洗模板 version: 1.0.3 category: 办公效率 tags: - Excel清洗 - 表格去重 - 数据整理 - 空值填充 - 办公数据 - 清洗报告 author: Felix trigger: - Excel数据清洗 - 表格去重 - 帮我清洗表格 - 填补空值 - 表格数据整理 - 整理脏Excel - 表格格式统一 - 列拆分处理


Excel脏数据快速清洗模板

适用场景

收到同事/客户发来的"惨不忍睹"表格:重复行、空值、前后空格、大小写混乱、日期与手机号格式五花八门,人工整理一小时起步。本技能按「清洗配置 + 原始表格」一次性完成去重、补空、格式统一与列拆分,并输出清洗报告(每一步改了多少行),让数据可追溯、结果可复核。

核心能力

  1. 去重:整行去重 / 按关键列(如手机号、订单号)去重,dedup_keep 控制保留首条或末条,并记录被删条数。
  2. 空值处理:按列配置填充策略——固定值、上一行沿用(向下填充)、列均值(数值列)、标记 【缺失】
  3. 格式统一:去首尾空格、全角转半角、大小写规整、日期统一为 YYYY-MM-DD、手机号去分隔符校验 11 位。
  4. 列拆分:按分隔符将一列拆为多列(如"省-市-区"拆三列),超出目标列数部分自动截断告警。
  5. 清洗报告:逐条列出操作、影响行数、缺失率统计、丢弃/存疑数据清单,方便发给数据提供方核对。

输入规范

向用户收集(任一缺失则主动引导补充,不臆测):

  • 原始表格:粘贴表格文本 / CSV 内容 / Excel 截图转录(列名 + 数据行)
  • 关键列:按哪一列判定重复(不提供则整行去重)
  • 空值策略:每列缺失时怎么处理(不提供则默认标记 【缺失】
  • 格式要求:需要统一的列(日期列、手机号列、需去空格的文本列)
  • 拆分需求:是否需要把某列按分隔符拆开(可空)

引导话术:「把表格内容发我(直接粘贴就行),并告诉我:①按哪列去重(如手机号)②空值怎么补 ③哪些列要统一格式。我给你清洗好的表格 + 一份清洗报告。」

处理流程

  1. 将用户粘贴的表格解析为「列名 + 数据行」,与清洗要求一起整理为 JSON(结构见 references/input_template.md)。
  2. 调用 scripts/clean_table.py 执行确定性清洗: python scripts/clean_table.py --input table.json # 指定输出/格式 python scripts/clean_table.py --input table.json --output 清洗结果.md --format both table.json 结构见 references/input_template.md
  3. 输出清洗后的表格(markdown + CSV 两种格式)与清洗报告,存疑数据单列提示用户人工复核。

脚本参数

参数 说明
table.json(位置参数)或 --input JSON 输入;二者二选一,缺省读 stdin(编码自动 utf-8-sig/gbk 兜底)
--output 写入文件;缺省打印到 stdout
--format markdown / csv / both(默认 both)
--selftest 运行内置自检(无需输入),退出码 0/4

输出格式

== 清洗报告 ==
原始数据:58 行 × 5 列
① 格式统一:手机号列去分隔符,2 条非 11 位已标记存疑(先规整再去重,避免同号不同写法漏判)
② 去重(按 手机号):删除 6 行重复
③ 空值填充:部门列 3 处 → 向下沿用;金额列 2 处 → 列均值 1520.5
④ 拆列:地址 → 省/市/区 3 列
⑤ 数据概览:清洗后 52 行 × 7 列,空白单元格 3 个(缺失率 0.8%);各列缺失数:部门 3
清洗后:52 行 × 7 列

== 存疑数据(请人工复核)==
| 行号 | 列 | 原值 | 问题 |
|---|---|---|---|
| 17 | 手机号 | 1380013 | 位数不足 |

== 清洗后表格(markdown)==
| 姓名 | 手机号 | ... |
...

== 清洗后表格(CSV,可直接另存为 .csv 导入 Excel)==
姓名,手机号,...

边缘用例(v1.0.3 已覆盖)

  • --format csv → 仅输出 CSV,不夹杂 markdown 表格
  • dedup_keeplast → 去重时保留末条;取值非法(非 first/last)→ 回退 first 并告警
  • 空行输入(rows 为空)→ 正常输出 0 行报告,不报错
  • 整列缺失(全空列)→ 缺失率统计正确(计空白 + 标记 【缺失】 两者)
  • 去重键为空的行 → 按空字符串参与判重,不误删其他行
  • 拆列段数超出目标列数 → 多余部分截断并告警,不撑破表格
  • 数据超过 2000 行 → 截断前 2000 行处理并提示

异常处理

  • 表格解析失败(列数不齐)→ 指出第几行列数异常,请用户补齐或确认删除。
  • 数值列均值填充遇到非数值 → 该列回退为标记 【缺失】 并在报告说明。
  • 关键列不存在 → 列出现有列名请用户重选。
  • 输入 JSON 结构非法(columns/rows 非数组、非对象)→ 明确报错并给出退出码 2/3。

自检

修改脚本后先跑一遍,确认无回归:

python scripts/clean_table.py --selftest

适用限制与免责声明

  • 本技能处理的是用户粘贴的表格文本;.xlsx 原文件请先复制数据区域或转存 CSV。
  • 清洗规则是通用规范,业务特殊口径(如"重复但要保留最新一条")请在输入中显式说明。
  • 清洗结果供效率参考,重要数据(财务、合规)请以清洗报告核对后再使用。

🤖 AI 评测

这个工具质量不错,处理表格数据很实用,能一次性完成去重、填充、格式统一并输出清洗报告,对各种边界情况考虑得比较周全。不足之处是用户需要手动配置参数,没有图形界面操作,而且不支持直接读取 Excel 文件,只能粘贴文本或 JSON 数据。

📊 多维度评分

适应性4.7
规范性4.6
有效性4.7
可靠性4.8
可信度5

📁 包含文件 (5 个)

📄 SKILL.md 5.6 KB
📄 examples/example_input.json 893 B
📄 examples/example_output.md 1.9 KB
📄 references/input_template.md 1.6 KB
📄 scripts/clean_table.py 16.4 KB

🔥 大家都在搜

wps 写作 pdf 苹果