OpenParable
Skip to content
← Back to skills

Numeric Format Cleaner

Documents
numeric_format_cleaner

Numeric Format Cleaner is an Agent Skill for documents published in the cas-bigdatalab/piflow repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

数值格式清洗工具。读取 JSONL 结构化数据,按字段规则统一单位、数值格式、范围和空值表达,输出规整后的 JSONL 和统计文件。 当用户提到数值格式化、单位统一、千分位、科学计数法、空值填充、数值规整等需求时使用此skill。 即使用户没有明确说出"数值格式清洗",只要任务涉及按字段规则整理数值表达,就应该使用此skill。 不负责文本去重、标点清洗、字段校验或非数值内容整理。

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/cas-bigdatalab/piflow/blob/HEAD/workspace/skills/numeric_format_cleaner/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/numeric-format-cleaner, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Numeric Format Cleaner 数值格式清洗 Skill

功能概述

本 skill 读取 JSONL 结构化数据,按字段规则统一数值表达:单位转换、千分位格式、科学计数法、范围限制和空值填充。 适用于实验记录、环境观测、统计表等需要统一数值格式的科研数据处理场景。

触发条件

当用户请求以下任务时,应使用此skill:

  • 数值格式清洗
  • 单位统一
  • 千分位规整
  • 科学计数法输出
  • 空值填充
  • 按字段规则整理数值

核心参数说明

必需参数

参数说明
--input输入 JSONL 文件路径
--output输出 JSONL 文件路径
--field_rules字段清洗规则 JSON

可选参数

参数说明默认值
--conversion_rules单位转换规则 JSON空字符串
--decimal_places默认小数位数2
--fill_null空值填充值空字符串
--mark_cleaned是否标记已清洗样本True
--stats_output统计输出文件路径numeric_format_cleaner_stats.json

输入文件格式

输入必须为 JSONL,每行一个对象,字段值可以是数值、带单位字符串或空值。

{"distance": "12.3km", "weight": "1500g"}
{"distance": "N/A", "weight": null}

使用方法

python scripts/run_numeric_format_cleaner.py \
  --input data.jsonl \
  --output cleaned.jsonl \
  --field_rules '{"distance":{"target_unit":"m","decimal_places":2}}'
python scripts/run_numeric_format_cleaner.py \
  --input data.jsonl \
  --output cleaned.jsonl \
  --field_rules '{"distance":{"target_unit":"m","decimal_places":2},"weight":{"target_unit":"kg","decimal_places":3}}' \
  --conversion_rules '{"km::m":1000,"g::kg":0.001}' \
  --stats_output stats.json

处理示例

  • 12.345km → 10000.00m
  • 1500g → 1.500kg
  • 1234567.89 → 1,234,568
  • 0.0004567 → 4.57e-04
  • N/A → 按 fill_null 填充

输出示例

[OK] Numeric format cleaning completed
   Total samples: 10
   Samples with changes: 10
   Total field changes: 64
   Errors: 1

环境要求

  • Python 3.10+
  • 仅依赖标准库

注意事项

  1. 输入必须是 JSONL,且字段规则用 JSON 字符串传入。
  2. fill_null 只影响空值或 null-like 值,不会改动正常数值。
  3. 只有字段规则命中的字段才会被处理。
  4. mark_cleaned=True 时,会在输出中追加清洗标记字段。