CSV 数据清洗器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_5b7ec45f/csv-v2 技能。
技能介绍
CSV 数据清洗常遇到一个尴尬:文件能用,但分析前总要先收拾。来自 Excel 导出的表往往带着行尾空格、空行、重复表头,甚至整列冗余。手工处理费时,pandas 虽然强大,但在没装它的环境中又跑不起来。clean_csv.py 就是为这类场景设计的——一个仅依赖 Python 标准库的脚本,把清洗规则固化成一条固定流程。
技能如何工作
脚本按固定顺序执行八步清洗:
- 以 UTF-8(容错 BOM)读取文件
- 对每个单元格 去除首尾空格
- 丢弃完全空行
- 规范化表头——折叠内部多余空格、去除两端空白
- 丢弃完全空列
- 按行去重(保留首次出现)
- 可选:按指定列(
--dropna-col)丢弃空值行 - 写出清洗后的 CSV 和一份 JSON 变更报告
参数简洁,默认行为即可覆盖大多数场景:
input.csv指定源文件-o / --output设定输出路径(默认cleaned.csv)--report指定 JSON 报告路径--no-dedup关闭去重(默认开启)
JSON 报告会记录每一步的实际操作数量,让你在信任数据前先看清改了什么。
适用边界与注意点
- 仅使用标准库:不依赖 pandas,任何有 Python 环境的机器都能跑
- 不会推断值:脚本只做删除和规范化,绝不凭空捏造缺失数据
- 大文件友好:逐行流式处理,内存占用恒定
- 规则固定:如果你的清洗需求超出当前流程(如大小写不敏感去重、数值类型转换),应当直接扩展
scripts/clean_csv.py,而不是在对话中用自然语言描述步骤——脚本才是唯一的执行来源
使用场景
- 拿到一份 Excel 导出的订单表,含行尾空格、空行和重复行,需要在入库前整理成可分析的 CSV
- 数据已经清洗完毕,想在交付给团队之前查看 JSON 报告中的变更计数,确认去重和删行数量
- 用户提交的表格中某个关键字段(如手机号)存在空值,需要按列批量丢弃这些无效记录
- 服务器上没有安装 pandas,要用纯 Python 标准库脚本处理一份 GB 级的 CSV 文件
适合人员
- 数据分析师:拿到外部提供的原始表格后,需要快速生成干净、可信的分析数据集
- 后端工程师:在生产服务器上处理用户上传的 CSV,环境不允许安装 pandas 等第三方库
- 运营人员:定期汇总多份报名表或留言表,需要去掉重复提交和空白行后存档
- 研究人员:从调查平台导出的原始数据含有格式问题,需要在统计分析前完成标准化清洗