Cross Field Comparison Check
跨字段比较校验工具。读取结构化数据文件(CSV、TSV、Excel等),检查两个字段之间的逻辑约束关系 是否满足(如 start < end、min ≤ max、price...
Install
npx skills add cas-bigdatalab/piflow --skill cross_field_comparison_check -g -a claude-code -y- Repository
- cas-bigdatalab/piflow541
- Category
- Engineering
- Updated
- 12d ago
- License
- See repository
- Context cost
- Lightabout 688 tokens
- Runs scripts
- Yes, review before use
What it does
跨字段比较校验工具。读取结构化数据文件(CSV、TSV、Excel等),检查两个字段之间的逻辑约束关系 是否满足(如 start < end、min ≤ max、price >= cost),支持六种比较运算符,多约束可组合使用。 当用户提到跨字段校验、字段间比较、逻辑约束检查、大小关系验证等需求时使用此skill。 即使用户没有明确说出"跨字段",只要任务涉及验证两个字段值之间的逻辑关系,就应该使用此skill。
cross_field_comparison_check 跨字段比较校验Skill
功能概述
本skill用于逐行验证两个字段值之间的逻辑关系是否成立。典型应用场景:
- 时间区间校验:
start_time < end_time - 数值范围校验:
min_value <= max_value - 价格逻辑校验:
cost < price - 库存校验:
sold <= total
支持运算符
| 运算符 | 含义 | 示例 |
|---|---|---|
< | 小于 | start,<,end |
<= | 小于等于 | min,<=,max |
> | 大于 | end,>,start |
>= | 大于等于 | current,>=,baseline |
== | 等于 | computed,==,expected |
!= | 不等于 | status,!=,deleted |
约束格式
- 每个约束:
左字段,运算符,右字段 - 多个约束用
|分隔 - 约束之间为 AND 关系(任一违反即标记)
- 示例:
start,<,end|min,<=,max表示同时满足 start<end 且 min≤max
触发条件
当用户请求以下任务时,应使用此skill:
- 跨字段比较校验
- 字段间逻辑约束检查
- 大小关系验证
- 字段值一致性比对
- 数据逻辑规则检查
处理逻辑
- 读取输入数据表
- 解析 constraints 字符串,拆分出每个约束(按
|分割) - 对每行数据:
a. 提取左右字段的值并转为数值(numeric)
b. 按指定运算符比较
c. 违反任一约束 → 标记
qc_mark - 非数值数据(如字符串)转为 NaN 后跳过该约束的比较
- 输出标记结果和统计摘要
支持的文件格式
- CSV (.csv)
- TSV (.tsv)
- Excel (.xls, .xlsx)
- SPSS (.sav)
使用方法
步骤1:获取用户输入输出路径及参数
向用户确认:
- 输入文件路径(需要校验的文件)
- 输出文件路径(校验结果文件)
- 约束表达式(格式:左字段,运算符,右字段|...)
- 质控标识
步骤2:执行跨字段比较校验脚本
在 scripts/ 目录下找到 cross_field_comparison_check.py,使用Python执行:
单约束(时间区间):
python scripts/cross_field_comparison_check.py \
--input_path data.csv \
--output_path checked.csv \
--constraints "start_time,<,end_time" \
--qc_mark QCFLAG
多约束(范围+价格):
python scripts/cross_field_comparison_check.py \
--input_path data.csv \
--output_path checked.csv \
--constraints "start,<,end|min,<=,max|cost,<=,price" \
--qc_mark QCFLAG
步骤3:返回结果
脚本执行完成后,告知用户:
- 每条约束的违反行数
- 示例违反数据
- 总标记行数
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
--input_path | 是 | 输入文件路径(支持CSV/TSV/Excel/SPSS) |
--output_path | 是 | 输出文件路径 |
--constraints | 是 | 约束表达式,` |
--qc_mark | 是 | 质控标识(如QC标识) |
--mark_field_name | 否 | 质控标识字段名(默认QC0000) |
