Install
openclaw skills install @thcjp/csv-insight-freeopenclaw skills install @thcjp/csv-insight-free面向数据分析师与开发者的轻量级 CSV 分析工具,零外部依赖,单条命令完成统计、筛选、异常检测与分组聚合。
CSV Insight 解决"快速看一眼 CSV 数据"的日常需求。相比启动 Jupyter、加载 pandas、编写脚本的传统流程,本 Skill 通过单条命令直接输出关键统计与筛选结果,适合数据探查、异常定位、快速汇总等场景。
免费版覆盖个人分析师 90% 的日常需求:统计摘要、行筛选、Top/Bottom N、异常检测、分组聚合。仅依赖 Python 标准库,2GB 内存即可运行。
| 能力域 | 命令 | 说明 | 免费版覆盖 |
|---|---|---|---|
| 统计摘要 | stats | 行数、列类型、数值列 min/max/mean、文本列唯一值数 | 是 |
| 行筛选 | filter | 按比较运算符筛选行 | 是 |
| Top/Bottom N | top / bottom | 按列取前 N / 后 N | 是 |
| 异常检测 | anomalies | Z-Score 检测(超出 2σ) | 是 |
| 分组聚合 | group | 按列分组 + 聚合(sum/count/avg) | 是 |
| 结果导出 | --output | 筛选/处理结果导出为 CSV | 是 |
| 列类型推断 | 自动 | 数值/日期/文本自动识别 | 是 |
| 相关性分析 | - | 列间相关系数 | 否(专业版) |
| 分布可视化 | - | 直方图/箱线图(ASCII) | 否(专业版) |
| 流式大文件 | - | 超过 100MB 的流式处理 | 否(专业版) |
用input_params参数进行配置。
输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作用config_options参数进行配置。
输入: 用户提供参数配置与调用所需的指令和必要参数。 处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志。
config_options参数,支持修改/重置/导入操作用output_format参数进行配置。
输入: 用户提供结果处理与输出所需的指令和必要参数。 处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志。
output_format参数,支持导出/保存/转换操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:零依赖分析、获取统计、异常检测与分组聚、pandas、Insight、是面向数据分析师、与开发者的轻量级、分析工具、通过命令行脚本完、成统计、零外部依赖、核心能力、自动列类型检测、灵活筛选、中位数、标准差、分位数、Use、when、需要数据分析、报表生成、统计洞察、数据可视化时使用、不适用于实时流数、据处理等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。收到一份陌生的 orders.csv,想快速了解数据规模与列类型。执行 stats 命令即可获得行数、列类型、数值列的 min/max/mean、文本列的唯一值数,10 秒内建立数据画像。
需要从订单数据中筛出金额超过 1000 的记录。执行 filter --where "amount>1000" 即可输出符合条件的行,并支持导出为 CSV 供进一步分析。
怀疑价格列存在异常值(如录入错误)。执行 anomalies --column price 基于 Z-Score 检测超出 2σ 的值,快速定位可疑记录。
需要按商品类目汇总销售额与订单数。执行 group --by category --agg "sum:amount" "count:id" 一次输出分组聚合结果。
需要找出消费金额前 10 的客户。执行 top --column revenue --n 10 即可获得前 10 名记录。
python3 {baseDir}/(请参考skill目录中的脚本文件) stats data.csv
能正常输出统计摘要即代表可用。
python3 {baseDir}/(请参考skill目录中的脚本文件) stats data.csv
输出示例:
行数: 12500
列数: 8
# ...
列类型:
order_id : integer
customer : text
amount : float
status : text
created_at : date
# ...
数值列统计:
amount:
min: 12.50
max: 8950.00
mean: 456.78
median: 320.00
# ...
文本列唯一值:
status: 5 种 (pending, paid, shipped, completed, cancelled)
# 筛选金额大于 1000 的订单
python3 {baseDir}/(请参考skill目录中的脚本文件) filter data.csv \
--where "amount>1000" \
--output big_orders.csv
# ...
# 多条件筛选
python3 {baseDir}/(请参考skill目录中的脚本文件) filter data.csv \
--where "amount>1000 AND status='paid'"
# 销售额前 10
python3 {baseDir}/(请参考skill目录中的脚本文件) top data.csv --column revenue --n 10
# ...
# 销售额后 5
python3 {baseDir}/(请参考skill目录中的脚本文件) bottom data.csv --column revenue --n 5
# 检测价格列异常(Z-Score > 2)
python3 {baseDir}/(请参考skill目录中的脚本文件) anomalies data.csv --column price
# ...
# 自定义阈值(Z-Score > 3)
python3 {baseDir}/(请参考skill目录中的脚本文件) anomalies data.csv --column price --threshold 3
# 按类目汇总销售额与订单数
python3 {baseDir}/(请参考skill目录中的脚本文件) group data.csv \
--by category \
--agg "sum:amount" "count:id"
输出示例:
category sum:amount count:id
electronics 125000.50 320
clothing 45000.00 180
books 12000.00 450
拿到陌生 CSV 时,先执行 stats 了解数据规模、列类型与基本分布,再决定后续分析方向。避免盲目编写复杂筛选。
文本值筛选时用单引号包裹(如 status='paid'),避免 shell 解析问题。数值比较不需要引号。
Z-Score 异常检测是统计意义的异常,不一定是业务异常。例如大额订单可能正常(企业客户)。检测结果需结合业务语境判断。
分组列存在空值时,空值会被归为一组。如需排除空值,先 filter 过滤再 group。
超过 1 万行的筛选结果建议直接 --output 导出为 CSV,再用 Excel 或其他工具查看,避免终端刷屏。
Top/Bottom N 的结果通常需要进一步处理,建议加 --output 导出,便于分享与归档。
免费版将文件全量加载到内存,建议处理 100MB 以内的文件。超过 100MB 请使用专业版的流式处理。
自动检测基于样本数据,可能误判。例如全数字的邮编会被识别为整数。如需强制指定类型,可使用专业版的 Schema 配置。
免费版优先解析 ISO 8601 格式(2024-01-15)。其他格式(如 01/15/2024)可能无法识别。建议预处理为 ISO 格式。
支持比较运算符(>、<、>=、<=、=、!=)与逻辑组合(AND、OR)。文本值用单引号包裹,数值不用。
默认阈值 2(即 2σ,约 95% 置信区间外的值为异常)。严格场景用 3(3σ,99.7%),宽松场景用 1.5。
支持 sum(求和)、count(计数)、avg(均值)、min(最小)、max(最大)。专业版额外支持 median、std、percentile。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
| Python | 运行时 | 必需 | 官网下载 |
| csv 模块 | Python 标准库 | 必需 | Python 自带 |
本免费体验版限制以下高级功能:
解锁全部功能请使用专业版:csv-insight-pro
本 skill 基于原始作品改进,保留原始版权声明:
本改进作品在原始作品基础上进行了深度差异化改造,包括但不限于:
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |