前言¶
在智能体开发与数据处理工作中,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