Back to skills
extension
Category: Data & AnalyticsNo API key required

表格整理 数据规范化 清洗校验

将杂乱表格按规则整理为规范、可分析的结构化数据。

personAuthor: user_2fd890c9hubcommunity

本内容由 AI 生成,仅供学习参考

<!-- ai-generated-notice -->

表格清洗工坊 Skill 文档


📋 一页纸速查卡(30秒上手)

| 项目 | 内容 | |------|------| | 我能做什么 | 字段提取、日期/数字格式统一、去重、空值标记、异常值识别、多文件批量处理、清洗报告输出、类型推断、错别字纠正 | | 我不能做什么 | 语义理解、图片/PDF表格提取、非首行表头自动识别、加密/损坏文件处理、数据可视化 | | 怎么触发 | 直接说“帮我清洗这个表格”或使用触发词(见下方触发词列表) | | 输入要求 | .xlsx / .xls / .csv(UTF-8/GBK)/ .tsv,表头在首行 | | 输出内容 | 清洗后新文件 + 清洗日志(含每行处理结果)+ 清洗报告(含质量评分) | | 快速开始 | 见下方「五、快速上手示例」 |


二、能力边界(详细版)

2.1 适用场景与输入规格

| 维度 | 说明 | |------|------| | 输入格式 | .xlsx.xls.csv(UTF-8/GBK)、.tsv | | 处理对象 | 单表或多表批量处理,表头必须在首行 | | 文件大小 | 单文件建议 ≤ 50MB;超过时自动分块处理(每块 10,000 行) | | 批量处理规则 | 同一目录下文件名匹配模式:*数据*.xlsx*报表*.csv 等(支持通配符 *?) | | 核心能力 | 字段提取、格式统一、去重、空值标记、异常值识别、类型推断 | | 输出形式 | 清洗后新文件 + 清洗日志(含失败明细)+ 清洗报告(JSON格式) |

2.2 能做(具体规则示例)

| 能力 | 具体规则示例 | |------|-------------| | 字段提取 | 从“张三_13800138000”中按 _ 拆分为姓名和手机号两列;从身份证号中提取出生日期(第7-14位) | | 日期格式统一 | 2024/1/52024-01-05202401052024年1月5日 → 统一为 2024-01-05 | | 数字格式统一 | 1,234.561234.56¥1,234.56 → 统一为 1234.56(去除千分位和货币符号) | | 去除重复行 | 所有字段值完全一致的行只保留第一条;支持指定关键列去重(如仅按“订单号”去重) | | 空值处理 | 可配置为:标记为 [缺失]、填充默认值(如 0未知)、删除该行 | | 异常值识别 | 年龄为负数、金额为文本、日期格式不合法等,自动标记并记录到日志 | | 错别字纠正 | 内置常见错别字映射表(如“登录”→“登录”、“帐号”→“账号”),可自定义扩展 | | 类型推断 | 自动识别每列数据类型(整数/浮点/日期/字符串),并输出推断结果 | | 多文件批量处理 | 支持同一目录下多个文件按相同规则批量清洗,自动生成汇总日志 | | 自定义正则清洗 | 通过 --regex-rules 参数传入自定义正则规则,灵活处理复杂格式 |

2.3 不能做(含原因与替代方案)

| 限制 | 原因 | 替代方案 | |------|------|----------| | 无法理解语义(如“张三”和“张 三”是否同一人) | 本工具基于规则而非语义模型 | 配置自定义规则(如去除空格后比较),或使用正则表达式匹配 | | 无法处理图片、PDF 中的表格 | 图片/PDF 需要 OCR 识别,超出本工具范围 | 先用 OCR 工具(如 Tesseract)提取文本,再导入 CSV 处理 | | 无法自动识别表头不在首行的文件 | 表头位置需人工确认,避免误判数据行 | 手动指定表头行号(如 --header-row 3),或将表头复制到首行 | | 无法处理加密或损坏的文件 | 加密文件需密码解密,损坏文件无法读取 | 先解密文件;损坏文件可尝试用 WPS/Excel 修复后另存为 CSV | | 不提供数据可视化或分析功能 | 本工具专注清洗,不涉及分析 | 清洗后导出 CSV,用 Excel、Tableau 或 Python 进行可视化 |

2.4 文件损坏程度与处理结果对应关系

| 损坏程度 | 表现 | 处理结果 | |----------|------|----------| | 轻微损坏(部分单元格乱码) | 个别单元格显示异常字符 | 自动跳过异常单元格,标记为 [损坏],其余数据正常处理 | | 中度损坏(部分行无法解析) | 某几行读取失败 | 跳过无法解析的行,在日志中记录行号和原因,其余行正常处理 | | 严重损坏(文件头损坏) | 文件无法打开或格式无法识别 | 返回错误码 E005,提示用户检查文件完整性或重新导出 |

2.5 多文件处理规则(命名规范一致性)

| 场景 | 规则说明 | |------|----------| | 文件名模式匹配 | 支持通配符 *?,如 *数据*.xlsx*报表*.csv | | 命名规范一致性 | 批量处理时,要求所有文件的表头结构一致(列名相同、顺序可不同);若列名不一致,自动按列名对齐,缺失列标记为 [缺失] | | 输出文件命名 | 清洗后文件命名为 原文件名_cleaned.扩展名,批量处理时自动添加时间戳后缀避免覆盖 | | 处理顺序 | 按文件名自然排序(如 1_数据.csv2_数据.csv)依次处理,日志中记录每个文件的处理顺序 |


三、触发方式与场景映射

3.1 触发词完整列表(12个)

Excel数据清洗表格整理数据规范化去除重复项格式统一数据清洗表格去重格式整理日期格式统一空值处理字段提取表格合并

3.2 大白话 → 触发词 → 实际动作 映射表

| 大白话描述 | 触发词 | 实际动作 | |------------|--------|----------| | “帮我把这个表里的日期都改成同一种格式” | 日期格式统一 / 格式统一 | 自动识别所有日期列,统一为 YYYY-MM-DD 格式 | | “这个表里好多重复行,帮我删掉” | 去除重复项 / 表格去重 | 按全字段匹配去重,保留第一条记录 | | “把姓名和手机号拆成两列” | 字段提取 | 按分隔符(_-、空格等)或正则表达式拆分列 | | “这表里有些格子是空的,帮我标出来” | 空值处理 / 数据规范化 | 将空值标记为 [缺失],或按配置填充默认值 | | “把几个月的表合并成一张总表” | 表格合并 / 表格整理 | 按表头合并多文件,自动对齐列名 | | “这个表里有些数字是文本格式,帮我转成数字” | 格式统一 / 数据规范化 | 自动识别文本型数字并转换为数值类型 | | “帮我检查一下这个表有没有异常值” | 数据清洗 / 数据规范化 | 识别异常值(负数年龄、超长文本等)并标记 | | “帮我把这个文件夹里的所有表都清洗一遍” | 表格整理 / 数据清洗 | 批量处理指定目录下所有匹配文件,生成汇总日志 |

3.3 调用流程说明

失败处理

  • 输入不符合预期 → 返回错误说明与正确的输入格式示例
  • 执行中异常 → 保留中间结果,报告失败原因与已处理进度
  • 依赖缺失 → 给出安装命令并重试一次

前置条件

  • 无特殊环境要求

执行步骤

  1. 收集用户输入并确认格式
  2. 按功能逻辑处理输入内容
  3. 生成结果并校验完整性

输出

  • 结构化文本结果,附处理说明

许可证(License)

MIT License

Copyright (c) {year} {holder}

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
<!-- professional-license-embedded -->

📜 用户协议(User Agreement)

  1. 本 Skill 仅供学习与参考用途。使用本 Skill 产生的任何结果,由使用者自行承担全部责任;本 Skill 不提供任何明示或暗示的保证。
  2. 涉及法律、财务、税务、投资、医疗等专业决策时,请务必咨询持证专业人士。
  3. 本代码受版权法保护,未经授权复制、反向工程或商业利用将被追究法律责任。
<!-- user-agreement-injected -->

⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。 涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。

<!-- professional-disclaimer-injected -->

失败处理

  • 输入不符合预期 → 返回错误说明与正确的输入格式示例
  • 执行中异常 → 保留中间结果,报告失败原因与已处理进度
  • 依赖缺失 → 给出安装命令并重试一次

执行步骤

  1. 收集用户输入并确认格式
  2. 按功能逻辑处理输入内容
  3. 生成结果并校验完整性

输出

  • 结构化文本结果,附处理说明