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

数据表结构校验

用 pandera 按规则校验 CSV/Excel 表结构,纯 Python 无重依赖。

personAuthor: user_8170ea13hubcommunity

数据表结构校验

骨架版(v0.1.0):核心脚本与单测已就绪,后续按文末「完善清单」逐技能打磨提示词与边界。

概述

在数据进入分析或数据库前做一道闸门:列是否齐全、类型对不对、数值是否越界。比肉眼检查快且可重复。

何时使用

  • 数据入库 / 分析前的质量闸门
  • 检查某列取值是否越界
  • 多人产出表格的格式对齐

快速使用

# 校验:name 为字符串不可空,age 为 0~120 整数
python3 scripts/validate_schema.py 人员.xlsx \
  --col name:str:::False \
  --col age:int:0:120:False

列规则格式:name:type:min:max:nullable(无上下限留空)

依赖安装

# 提示:脚本用相对路径 scripts/,请先 cd 到本技能目录再运行
python3 -m pip install pandera pandas

常见错误 / 注意

  • 当前骨架只支持 int/float/str 三型与区间检查,后续可加正则、唯一性、枚举
  • 依赖 pandas,大文件注意内存;可后续接分块
  • 校验失败会打印具体违反项,便于定位脏数据

实测验证(v0.1.0)

  • 核心依赖pandera
  • 安装体积:🟢 13.7 MB(依赖闭包实测,轻量级)
  • 环境要求:无外部二进制依赖。
  • 单元测试python3 -m unittest tests.test_...(须 cd 到本技能目录运行)
  • CLI 冒烟:已通过端到端实测

已验证行为

  • ✅ 合规数据校验通过并回传行数
  • ✅ 越界数据被拦截并给出列名与规则

已知边界 / 坑

  • ⚠️ pandera ≥0.20 推荐 from pandera.pandas import ...,顶层导入已弃用

本技能刻意用轻量用法(无 pandas 重依赖路径),实测闭包仅 13.7MB。

完善清单(骨架后待补齐)

  • [ ] 补充更丰富的示例与边界处理
  • [ ] 增加批量 / 多格式模式
  • [ ] 写更完整的自测说明与示例文件
  • [ ] 打磨触发词与用户引导话术(对齐本生态其他技能风格)