Data Split By Field

按字段拆分数据工具。根据指定字段的值将结构化表格拆分为多个文件,每个唯一值对应一个输出文件。 当用户提到数据拆分、按字段分组导出、分类导出、数据分片、按某列值分割文件等需求时使用此skill。 即使用户没有明确说出"拆分",只要任务涉及将结构化表格按某字段值分成多个文件,就应该使用此skill。 不负责字段聚合统计、行级过滤或跨表关联合并。

cas-bigdatalab f5aaf9b 4 files · 14.9 KB Updated

File contents

Data Split By Field 按字段拆分数据 Skill

功能概述

本skill用于根据指定字段的值将结构化表格拆分为多个文件。每个唯一的字段值会生成一个独立的输出文件, 文件名包含字段值以便识别。

触发条件

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

  • 按字段拆分数据
  • 分组导出
  • 分类导出
  • 数据分片
  • 按某列值分割文件

核心参数说明

必需参数

  • --input:输入文件路径
  • --output_dir:输出目录路径
  • --split_field:用于拆分的字段名

可选参数

  • --output_prefix:输出文件名前缀,默认 split
  • --output_format:输出文件格式,默认 csv
  • --use_dask:是否使用Dask处理大数据,默认 False
  • --blocksize:Dask分块大小,默认 64MB

输入文件格式

输入文件可以是 CSV、TSV、Excel 或 SPSS 文件,且必须包含 split_field 对应的列。

使用方法

python scripts/run_data_split_by_field.py --input data.csv --output_dir ./output --split_field category

输出示例

[OK] Data split completed!
   Engine: pandas
   Input file: data.csv
   Split field: category
   Total rows: 1000
   Unique values: 5
   Output files:
     - ./output/split_cat1.csv (200 rows)
     - ./output/split_cat2.csv (300 rows)

环境要求

  • Python 3.10+
  • pandas
  • openpyxl、xlrd、pyreadstat 等按输入格式需要安装
  • 可选:dask

注意事项

  1. 拆分字段必须存在于数据中
  2. 输出文件名格式为:{prefix}_{field_value}.{format}
  3. 字段值中的特殊字符会被替换为下划线
  4. 输出目录不存在时会自动创建

cas-bigdatalab/piflow/tree/main/workspace/skills/data_split_by_field commit f5aaf9bfb6

Frequently asked questions

npx skillmds@latest add cas-bigdatalab/data-split-by-field