关于 csv-data-wrangler
面向数据处理的 CSV 技能,涵盖高效清理、验证与转换,并按文件规模选择处理方式。适用于分块处理、格式转换及使用 DuckDB 执行 SQL 查询。
主要功能
- 01大型文件处理策略
- 02CSV 清理与验证
- 03编码和分隔符处理
- 04数据集重塑与合并
- 05使用 DuckDB 执行 SQL 查询
适用场景
- 01处理无法载入内存的 CSV 文件
- 02清理并验证表格数据
- 03解决编码或分隔符问题
- 04使用 SQL 查询 CSV 数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill csv-data-wrangler安装后在 Claude Code 中输入/csv-data-wrangler确认已加载。
详细介绍
CSV 数据处理器
用途
提供高效处理、清理和转换 CSV 文件的专业能力。可处理大型文件、编码问题、格式错误的数据,并优化表格数据工作流的性能。
适用场景
- 高效处理大型 CSV 文件
- 清理和验证 CSV 数据
- 转换和重塑数据集
- 处理编码和分隔符问题
- 合并或拆分 CSV 文件
- 在表格格式之间转换
- 使用 SQL(DuckDB)查询 CSV
快速开始
在以下情况下调用此技能:
- 高效处理大型 CSV 文件
- 清理和验证 CSV 数据
- 转换和重塑数据集
- 处理编码和分隔符问题
- 使用 SQL 查询 CSV
以下情况请勿调用:
- 构建带格式的 Excel 文件(使用 xlsx-skill)
- 对数据进行统计分析(使用 data-analyst)
- 构建数据管道(使用 data-engineer)
- 执行数据库操作(使用 sql-pro)
决策框架
Tool Selection by File Size:
├── < 100MB → pandas
├── 100MB - 1GB → pandas with chunking or polars
├── 1GB - 10GB → DuckDB or polars
├── > 10GB → DuckDB, Spark, or streaming
└── Quick exploration → csvkit or xsv CLI
Processing Type:
├── SQL-like queries → DuckDB
├── Complex transforms → pandas/polars
├── Simple filtering → csvkit/xsv
└── Streaming → Python csv module
核心工作流
1. 大型 CSV 处理
- 检查文件(大小、编码、分隔符)
- 根据规模选择合适的工具
- 如果内存受限,则分块处理
- 处理编码问题(UTF-8、Latin-1)
- 验证每列的数据类型
- 使用恰当的引号格式写入输出
2. 数据清理流程
- 加载样本以了解结构
- 找出缺失值和格式错误的值
- 为每列定义清理规则
- 应用转换
- 验证输出质量
- 记录清理统计信息
3. 使用 DuckDB 查询 CSV
- 将 CSV 文件指向 DuckDB
- 让 DuckDB 推断架构
- 直接编写 SQL 查询
- 将结果导出为新的 CSV
- 可选:将数据持久化为 Parquet
最佳实践
- 始终明确指定编码
- 对大型文件使用分块读取
- 选择工具前先检查文件
- 保留原始文件,并将结果写入新文件
- 验证处理前后的行数
- 正确处理带引号的字段和转义字符
反模式
| 反模式 | 问题 | 正确做法 |
|---|---|---|
| 将所有数据加载到内存 | 大型文件会导致内存溢出 | 使用分块或流式处理 |
| 猜测编码 | 字符损坏 | 先使用 chardet 检测 |
| 忽略引号 | 字段解析错误 | 使用合适的 CSV 解析器 |
| 不做验证 | 数据悄然损坏 | 验证行数和列数 |
| 手动拆分字符串 | 边缘情况处理失败 | 使用 csv 模块或 pandas |
评论
支持 Markdown