返回技能市场

CSV文件处理(免费版)

CSV文件处理免费版,提供基础的CSV读写与清洗能力. 核心能力包括: - 编码自动检测(utf-8、utf-8-sig、latin-1) - 分隔符自动识别(逗号、分号、制表符) - CSV文件画像分析(行数、列数、表头判定) - 基础数据清洗(列名标准化、空行删除) - CSV导出(utf-8-sig编码)...

版本: 1.0.1分类: 其他
中文

SKILL.md

功能说明: 本技能涵盖 基础合并与导出、中文交互、编码与分隔符 等核心能力。

CSV文件处理(免费版)

概述

CSV是工程与财务领域最通用的数据交换格式。本免费版提供基础的CSV读取、编码检测与数据清洗能力,满足日常单文件处理需求。

核心能力

编码自动检测

通过 chardet.detect() 读取文件前 10000 字节进行编码推断,支持以下编码:

  • utf-8:标准Unicode编码
  • utf-8-sig:带BOM头的UTF-8(Excel导出常见)
  • latin-1:西欧语言编码

检测失败时回退至 utf-8,避免抛出 UnicodeDecodeError。

分隔符自动识别

读取文件前 5000 字符,统计 COMMON_DELIMITERS = [',', ';', '\t', '|'] 各分隔符出现频次,选取频次最高者作为分隔符。

CSV文件画像分析

调用 profile_csv() 生成 CSVProfile 对象,包含 encoding、delimiter、has_header、row_count、column_count、columns 字段。表头判定逻辑:检查首列是否为纯数字(去除 . 和 -),若非数字则判定有表头。

数据读取与清洗

read_csv() 方法封装 pd.read_csv(),默认参数 on_bad_lines='skip'、low_memory=False。清洗流程包括列名标准化(转小写、空格转下划线)、删除全空行 df.dropna(how='all')、字符串列空白裁剪。

CSV导出

export_csv() 默认使用 utf-8-sig 编码导出(带BOM,确保Excel正确显示中文),index=False 不写入行索引。

升级提示:多文件合并(merge_csvs)、按列拆分(split_csv)、智能类型转换(convert_types)、进度计划专用解析(ScheduleCSVHandler)、成本数据专用解析(CostCSVHandler)为付费版专享功能。

依赖说明

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux

依赖项

依赖项类型是否必需获取方式
LLM APIAPI必需由Agent内置LLM提供

API Key 配置

需要配置对应API Key,详见上文环境配置章节

可用性分类

  • 分类: MD+EXEC()

API Key配置方式:

export API_KEY="${API_KEY:?请设置环境变量}"

配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统。

使用流程

  1. 画像分析:调用 profile_csv("export.csv") 获取文件编码、分隔符、行列数
  2. 读取清洗:调用 read_csv("export.csv", clean=True) 加载并自动清洗数据
  3. 结果导出:调用 export_csv(df, "output.csv") 以 utf-8-sig 编码写出

示例

示例1:文件画像与基础读取

handler = ConstructionCSVHandler()

profile = handler.profile_csv("p6_export.csv")
# 输出: Encoding: utf-8-sig, Delimiter: ',', Rows: 1542, Cols: 7

df = handler.read_csv("p6_export.csv")
print(f"加载 {len(df)} 行, {len(df.columns)} 列")
# 输出: 加载 1542 行, 7 列

示例2:导出清洗后的数据

handler.export_csv(df, "cleaned_output.csv", encoding='utf-8-sig')
# 生成带BOM的UTF-8文件,Excel可正确显示中文

错误处理

错误场景原因处理方式
UnicodeDecodeError文件包含非声明编码字符使用 errors='replace' 替换非法字符,或手动指定 latin-1 编码
BOM残留导致列名首字符异常utf-8 读取带BOM文件改用 utf-8-sig 编码读取,BOM会被自动移除
ParserError: Error tokenizing data行内字段数不一致已通过 on_bad_lines='skip' 自动跳过,检查原始文件引号配对
分隔符误判文件内逗号出现在文本字段中手动指定 delimiter='\t'
MemoryError 大文件溢出文件超过可用内存使用 nrows 分批读取或 chunksize=10000 流式处理

常见问题

Q1: Excel打开CSV中文乱码怎么办?

A: 导出时使用 utf-8-sig 编码(export_csv(df, "output.csv", encoding='utf-8-sig')),BOM头会让Excel正确识别UTF-8编码。

Q2: 如何判断CSV是否有表头行?

A: profile_csv() 返回的 has_header 字段会自动判定——检查首列是否为纯数字,非数字则判定有表头。

Q3: 欧式CSV用分号分隔,如何正确读取?

A: detect_delimiter() 会自动识别分号。也可手动指定:handler.read_csv("data.csv", delimiter=';')。

Q4: 如何合并多个CSV文件?

A: 多文件合并为付费版专享功能。免费版建议手动使用 pd.concat() 处理少量文件,或升级至付费版使用 merge_csvs() 一键合并。

Q5: 成本列含 $ 符号如何处理?

A: 成本数据专用解析(CostCSVHandler)为付费版专享。免费版可手动执行 df['col'].replace(r'[\$,]', '', regex=True) 清洗。

已知限制

  • 免费版不支持多文件合并、按列拆分、智能类型转换
  • 免费版不包含进度计划与成本数据专用解析器
  • 编码检测基于前 10000 字节采样,极少情况下可能误判混合编码文件
  • on_bad_lines='skip' 会静默丢弃格式错误行,建议检查丢弃行数
  • 升级至付费版可解锁全部高级功能

安全注意事项

风险类型防范措施
API密钥泄露通过环境变量配置,禁止硬编码到代码或配置文件中
命令执行风险仅执行白名单命令,避免拼接用户输入到命令行参数中
敏感数据暴露输出结果中不包含密钥、令牌等敏感信息

使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。

效率量化分析

操作场景手动耗时自动化耗时效率提升
文件解析与提取5-10分钟/个<5秒/个60-120x
批量文件处理(100个)8-16小时<5分钟96-192x
API调用与响应解析2-3分钟/次<1秒/次120-180x
多接口数据聚合15-30分钟<10秒90-180x
命令执行与结果收集3-5分钟/次<2秒/次90-150x
重复任务批量执行因任务而异线性缩减5-50x
错误排查与修复10-30分钟<30秒20-60x

差异化对比

对比维度本技能传统手动方式通用脚本工具
自动化程度全流程自动完全手动部分自动
错误处理内置错误恢复依赖人工经验基本try-catch
可复用性参数化配置一次性脚本模板化
安全合规内置安全检查无安全保障无安全保障
适用场景核心功能通用场景通用场景

核心功能

  • 自动化执行: 基于指令驱动的自动化流程
  • 文件处理: 支持多种文件格式的读取、解析和写入操作
  • API集成: 通过标准化接口调用外部服务并处理响应
  • 命令执行: 在安全沙箱中执行系统命令并收集结果

评论与讨论

0/2000

还没有评论,分享你的体验吧。