CSV 数据工具箱:DSH 插件 dsh-csv-lab

前言

在智能体开发与数据处理工作中,CSV 文件是常见的输入输出格式。但当文件规模达到几十万行,或导出编码为 GBK、分隔符不一致时,处理会变得繁琐。手动在 Excel 中打开、逐列校验、手工合并,不仅耗时,还容易漏错。

DeepSeek Harness(DSH)采用「一切皆插件」的理念,通过命令行工具快速扩展能力。dsh-csv-lab 是一个 CSV 数据工具箱插件,提供批量切分、去重、校验、清洗、合并和格式转换等功能,支持自动识别编码与分隔符。

这是什么

dsh-csv-lab 是一个面向 CSV 文件的命令行工具插件,由维护者 feely0208 开发。它针对 DSH 生态中的数据处理需求,提供本地、离线的 CSV 操作能力,不依赖联网服务,默认输出到独立目录,不修改原始文件。

核心功能

插件提供以下子命令:

  • sniff:识别编码(UTF-8/GBK/GB18030)、分隔符(逗号/制表符/分号)、是否有表头
  • split:按行数切分大文件,默认每片 10000 行,保留表头
  • dedupe:整行去重,或通过 --key 按指定列去重
  • validate:字段校验,支持必填、数字、日期、邮箱、手机号等规则,输出校验报告 JSON
  • clean:去除首尾空格、删除空行、规范表头
  • merge:合并目录内多个 CSV,按表头名映射,可添加来源文件列
  • convert:CSV 转 Excel(xlsx),或 Excel 转 CSV(每个工作表一个文件)

所有操作在本地完成,不联网、不上传。

安装与启用

安装前需确保本机已安装 python3。转 Excel 功能需要 openpyxl 库,缺时会提示安装命令。

安装命令:

dsh plugin --profile web add @deepwhale-cn/dsh-csv-lab

安装完成后,可通过以下命令查看插件版本与依赖要求:

dsh-csv-lab --demo

转 Excel 时,若缺少依赖会打印安装命令:

python3 -m pip install openpyxl

典型用法

  • 识别文件编码与分隔符:
dsh-csv-lab sniff --input ./数据
  • 切分大文件:
dsh-csv-lab split --input ./大表.csv --rows 50000 --out ./分片
  • 按手机号去重:
dsh-csv-lab dedupe --input ./客户.csv --key 手机号 --out ./去重
  • 字段校验并生成报告:
dsh-csv-lab validate --input ./客户.csv --required 姓名,手机号 --email 邮箱 --date 生日 --json
  • 清洗数据:
dsh-csv-lab clean --input ./客户.csv --out ./清洗
  • 合并目录内多个 CSV:
dsh-csv-lab merge --input ./月度 --source-col --out ./合并
  • 转换为 Excel:
dsh-csv-lab convert --input ./数据 --format xlsx --out ./excel

适用场景与注意

该插件适合需要批量处理 CSV 文件的场景,如数据导入导出、数据清洗与校验、大文件切分等。

需要注意以下几点:

  • 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证
  • 不支持跨表 JOIN、聚合查询等数据库功能,大文件通过切分而非索引查询
  • 不处理 Excel 公式重算、样式/图表/宏(仅读写值)
  • 不猜测业务字段含义,校验规则需通过参数显式指定
  • 不处理 XML/JSON/Parquet,不支持加密或损坏文件
  • 分隔符与编码识别采用启发式方法,极短文件可能识别错误,可用 --json 查看识别结果

结尾

dsh-csv-lab 为 DSH 生态提供了一套轻量级的 CSV 数据处理方案,适合需要批量操作 CSV 文件的开发者与智能体开发者。通过命令行接口,可快速完成切分、去重、校验、清洗、合并和格式转换,所有操作本地完成,避免数据上传。

插件目录:https://www.skillhub.cn/plugins/feely0208/dsh-csv-lab
GitHub:https://github.com/feely0208/dsh-csv-lab

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye