用途
CSV Analyzer 是一个综合性的 CSV 数据分析与可视化引擎,以技能(skill)形式提供。它用于分析 CSV 文件、生成数据摘要、创建可视化图表,并帮助解读结果、向用户提供洞察。
主要能力
- 运行本地 Python 脚本
analyze_csv.py对 CSV 文件进行分析。 - 生成数据质量评分(quality_score)、缺失值、重复行等质量指标。
- 计算相关性、偏度、异常值等统计信息。
- 输出多种图表,包括:
overview_dashboard.png(概览仪表盘)missing_values.png(缺失值图)numeric_distributions.png(数值分布,直方图 + KDE)categorical_distributions.png(类别分布,柱状图)time_series.png(时间序列)box_plots.png(箱线图,用于异常值分析)correlation_heatmap.png(相关性热力图)pairplot.png(散点矩阵,2-6 个数值变量)violin_plot.png(小提琴图,数值 vs 类别)
- 支持多种输出格式:默认、markdown、json、html。
- 支持大文件采样(
--sample)、指定日期列(--date-columns)、自定义输出目录(--output-dir)、无图表模式(--no-charts)等。
使用方式
快速开始:
cd ~/.claude/skills/csv-analyzer/scripts
export $(grep -v '^#' /path/to/project/.env | xargs 2>/dev/null)
python3 analyze_csv.py /path/to/data.csv
常用命令:
- 基础分析:
python3 analyze_csv.py data.csv - 完整报告(所有图表):
python3 analyze_csv.py data.csv --format markdown --max-charts 10 - 快速分析(无图表):
python3 analyze_csv.py data.csv --no-charts - 大文件(>100MB):
python3 analyze_csv.py huge.csv --sample 50000 - 指定日期列:
python3 analyze_csv.py data.csv --date-columns created_at updated_at - JSON 输出(程序化使用):
python3 analyze_csv.py data.csv --format json --no-charts - 自定义输出位置:
python3 analyze_csv.py data.csv --output-dir /path/to/project/.tmp/analysis - 生成所有可视化:
python3 analyze_csv.py data.csv --format html --max-charts 10
图表默认保存位置:~/.claude/skills/csv-analyzer/scripts/.tmp/csv_analysis/。可将图表复制到用户项目 .tmp 目录以便查看:
cp ~/.claude/skills/csv-analyzer/scripts/.tmp/csv_analysis/*.png /path/to/project/.tmp/csv_analysis/
结果解读
工具提供了质量评分、相关性、偏度、异常值的解读指南:
- 质量评分:90-100 为 A(优秀),80-89 为 B(良好),70-79 为 C(中等),60-69 为 D(较差),<60 为 F(严重问题)。
- 相关性 |r|:0.9-1.0 非常强,0.7-0.9 强,0.5-0.7 中等,0.3-0.5 弱,0.0-0.3 可忽略;正负号表示方向。
- 偏度:<-1 重左尾,-1 到 -0.5 轻度左偏,-0.5 到 0.5 对称,0.5 到 1 轻度右偏,>1 重右尾(可考虑对数变换)。
- 异常值:<1% 为少量,1-5% 为中等,>5% 为大量。
适用场景
- 快速了解 CSV 数据概况(行数、列数、数值/类别列)。
- 检查数据质量(缺失值、重复行、质量评分)。
- 探索单变量分布、变量间关系、异常值。
- 生成多图表仪表盘或综合视图。
- 为数据清洗和建模提供建议。
限制
- 依赖 pandas、matplotlib、seaborn、scipy、numpy,需通过
pip install pandas matplotlib seaborn scipy numpy安装。 - 完全在本地运行,免费。
- 其他限制暂未提供。