Agent Skills
返回列表
💻

CSV 模式验证与自动修复工具

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/csv-schema-validator-auto-fixer。

技能介绍

CSV 校验为什么值得单独处理

CSV 文件没有内嵌的类型信息。一个字段写成 42,既可以是数字也可以是字符串;日期可能写成 2024-01-15,也可能是 15/01/2024;列名可能因为导出工具的不同而变成 user_name 或 UserName。当这类数据要进入下游流程——导入数据库、喂给数据分析脚本、作为 API 的批量输入——一次 JSON Schema 校验往往比「先跑起来再说」更省事。

这个技能要解决的问题很具体:你已经有一份 JSON Schema 描述期望的结构,现在需要确认一个 CSV 文件是否符合它,并在不匹配时尽量自动修复,而不是直接报错中断。

核心能力与工作流程

核心能力:

  • 基于 AJV 做 JSON Schema 验证,支持多个 draft 版本(draft-04 需要额外的 ajv-draft-04 包)
  • 基于 csv-parse 解析 CSV 内容,把每一行映射成对象后交给 AJV 校验
  • 自动检测并修复三类典型问题:类型不匹配、缺少必需列、编码问题
  • 可配置的严格级别:宽容地修复所有能修的问题,还是严格报错拒绝放行,由调用方决定

关键步骤:

  1. 定义或提供 JSON Schema,描述每个字段的名称、类型和约束
  2. 用 csv-parse 将 CSV 文本解析为行对象数组
  3. 用 AJV 逐个校验对象,收集所有验证错误而非遇到第一个就停止
  4. 对可修复的错误(类型转换、补默认值、纠正编码)执行自动修复
  5. 根据严格级别决定:全部修复后返回干净数据,还是对无法修复的问题抛出完整错误列表

适用边界与注意点

  • 需要 Node.js 环境:技能依赖的 AJV 和 csv-parse 都是 Node 生态的包
  • 自动修复有限度:它能修复格式问题,不能修复语义问题——比如某列缺失且 Schema 要求必填又没有默认值,它无法凭空造数据
  • 严格级别要按场景选:数据入库前的管道建议严格模式;数据清洗的中间步骤可以用宽容模式先跑一遍看问题分布
  • Schema 质量决定修复质量:Schema 写得含糊,修复行为也会跟着含糊;建议先用严格模式校验一遍 Schema 本身是否准确表达了期望

使用场景

  • 前端/后端拿到运营导出的 CSV,需要在入库前确认字段类型、必填列和日期格式是否符合数据库 Schema,并把可修复的问题先修掉。
  • 数据管道里要把上游导出的 CSV 转成 JSON 后再调用下游 API,想先用已有 Schema 校验每一行,避免脏数据进 API。
  • 收到不同地区同事导出的 CSV,编码和列名不一致,需要按统一 Schema 检测编码问题、缺失列和类型不匹配。
  • 迁移数据前需要按 Schema 核对 CSV 是否缺少必需列,并在严格模式下列出所有无法自动修复的问题。

适合人员

  • 写 Node.js 数据管道的后端工程师,想把 CSV 清洗和 JSON Schema 校验放进入库流程,减少人工抽查。
  • 负责数据迁移或报表ETL的数据工程师,需要在多份异构 CSV 进入数据库前确认必填列和字段类型。
  • 做内部工具或脚本的全栈开发者,经常收到业务导出的 CSV,想用可配置严格级别自动处理脏数据。
  • 负责数据质量或 API 批量导入的工程师,希望先用 Schema 校验 CSV,再决定允许修复或直接拒绝。