本文へ移動
cccskills
無料GitHub で公開

data_merge_join

数据横向关联工具。读取多个结构化数据文件,按指定键进行横向关联(JOIN),输出关联后的合并文件。当用户提到数据关联、表连接、横向合并、键合并、JOIN等需求时使用此skill。

即使用户没有明确说出"关联",只要任务涉及按某个字段将多个表的数据关联在一起,就应该使用此skill。不负责数据纵向拼接(concat)、数据去重、或字段值聚合(GROUP BY)。

インストール方法を見る

含まれるファイル(4)

  • SKILL.md4.9 KB
  • scripts/example_input.json131 B
  • scripts/run_data_merge_join.py10.1 KB
  • skill.json1.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Data Merge Join 数据横向关联 Skill

功能概述

本skill用于将多个结构化数据文件按指定键进行横向关联(JOIN),支持内连接(inner)、左连接(left)、右连接(right)、全连接(outer)四种方式。多文件关联时按顺序依次进行两两关联,重名列自动添加后缀 _1、_2 以避免冲突。

文件1:          文件2:          关联结果(inner join on key):
| key | A |     | key | B |     | key | A | B |
|-----|---|     |-----|---|     |-----|---|---|
| k1  | 1 |     | k1  | x |     | k1  | 1 | x |
| k2  | 2 |     | k3  | y |

触发条件

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

  • 数据关联/表连接
  • 横向合并/键合并
  • JOIN操作
  • 按字段关联数据

核心参数说明

必需参数

参数说明
--input_files输入文件路径列表,多个文件用逗号分隔
--output输出文件路径
--join_key关联键字段名,必须在所有输入文件中存在

可选参数

参数说明默认值
--join_how关联方式:inner/left/right/outerinner
--use_dask是否使用Dask处理大数据False
--blocksizeDask分块大小64MB

输入文件格式

支持 CSV、TSV、Excel(.xls/.xlsx)、SPSS(.sav)格式的结构化数据文件,每个文件必须包含关联键字段。

示例 employees.csv:

employee_id,name,department_id,salary,city
E001,Alice,SALES,8000,Beijing
E002,Bob,ENG,12000,Shanghai

示例 departments.csv:

department_id,dept_name,manager,location
SALES,Sales Department,Alice,Beijing
ENG,Engineering Department,Bob,Shanghai

使用方法

内连接(只保留两表都匹配的行)

python scripts/run_data_merge_join.py \
  --input_files "file1.csv,file2.csv" \
  --output merged.csv \
  --join_key "id" \
  --join_how inner

左连接(保留左表所有行)

python scripts/run_data_merge_join.py \
  --input_files "main.csv,lookup.csv" \
  --output merged.csv \
  --join_key "user_id" \
  --join_how left

右连接(保留右表所有行)

python scripts/run_data_merge_join.py \
  --input_files "main.csv,lookup.csv" \
  --output merged.csv \
  --join_key "dept_id" \
  --join_how right

全连接(保留两表所有行)

python scripts/run_data_merge_join.py \
  --input_files "table_a.csv,table_b.csv" \
  --output merged.csv \
  --join_key "key" \
  --join_how outer

输出示例

命令行输出:

[OK] Data merge completed!
   Engine: pandas
   Merge type: join
   Input files: 2
   Total rows before merge: 10, 5
   Total rows after merge: 8
   Total columns after merge: 8
   Output file: merged.csv

输出CSV格式:

employee_id,name,department_id,salary,city,dept_name,manager,location
E001,Alice,SALES,8000,Beijing,Sales Department,Alice,Beijing
E002,Bob,ENG,12000,Shanghai,Engineering Department,Bob,Shanghai

环境要求

本skill依赖 pandas 及可选依赖 dask、chardet:

pip install pandas openpyxl xlrd xlwt chardet
# 可选:大数据场景
pip install dask[dataframe]

注意事项

  1. join_key必须在所有输入文件中存在,否则程序会报错
  2. 多文件关联时,按顺序依次进行两两关联
  3. 重名列会自动添加后缀 _1、_2 等以避免冲突
  4. 不负责纵向拼接堆叠(concat),如需纵向合并请使用其他skill

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

领域缩略语展开 Skill:按内置或外部词典将独立缩略语替换为全称,可选在全称后保留原缩写。 适用于技术文本、论文摘要和业务记录中的缩写清洗;不负责模糊缩写消歧或大小写无关替换。

日本語の概要は準備中です。原文の説明を表示しています。

cas-bigdatalab/piflow5412026年9月22日 更新

字母数字比例过滤器。过滤文本中字母/数字比例不在指定范围内的样本。 当用户提到文本过滤、比例筛选、字母比例、数字比例、清理乱码文本等需求时使用此skill。 即使用户没有明确说出"过滤",只要任务涉及根据文本中字母或数字的比例来筛选数据, 就应该使用此skill。

日本語の概要は準備中です。原文の説明を表示しています。

cas-bigdatalab/piflow5412026年9月22日 更新

平均行长度过滤器。过滤文本平均行长度不在指定范围内的样本。 当用户提到行长度过滤、平均行长度、文本行长度筛选、按行筛选等需求时使用此skill。 即使用户没有明确说出"平均行长度",只要任务涉及根据文本中每行的平均长度来筛选数据, 就应该使用此skill。

日本語の概要は準備中です。原文の説明を表示しています。

cas-bigdatalab/piflow5412026年9月22日 更新

批量文件清单采集器。扫描一个或多个本地文件/目录,或从任务列表加载路径, 按支持的扩展名生成文件元信息清单,供后续文本、表格、文档、图像等采集流程继续处理。 当用户需要批量盘点待采集文件、生成本地文件 manifest、统计输入文件类型或为后续采集算子准备文件清单时使用此 skill。

日本語の概要は準備中です。原文の説明を表示しています。

cas-bigdatalab/piflow5412026年9月22日 更新

批量数据均匀分片工具。读取json/jsonl/csv输入,按份数或固定条数切成多个子文件,输出一个清单JSON供下游节点消费。 当用户提到数据分割、批量拆分、数据分片、均匀分块等需求时使用此skill。 即使用户没有明确说出"分片",只要任务是把整份批量数据均匀拆成多个文件,就应该使用此skill。 不负责按字段分组导出或随机采样。

日本語の概要は準備中です。原文の説明を表示しています。

cas-bigdatalab/piflow5412026年9月22日 更新

本skill是用于单细胞测序数据分析的专用技能,首先需要用户上传需要处理的单细胞测序数据,再对经过预处理的单细胞表达数据进行自动化细胞类型注释。它通过基因比对、数据标准化、降维等一系列流程,将细胞聚类结果与已知参考数据库进行匹配,从而为每个细胞分配生物学功能标签。

日本語の概要は準備中です。原文の説明を表示しています。

cas-bigdatalab/piflow5412026年9月22日 更新

cas-bigdatalab のスキルをすべて見る

このスキルの問題を報告する