关于 csv-data-analysis
csv-data-analysis 是分析 CSV、Excel 和 TSV 文件并生成交互式网页报告的技能。它结合脚本统计提取与 LLM 解读,涵盖数据质量、分布、关系、异常和建议。
主要功能
- 01分析 CSV、Excel 和 TSV 文件
- 02提取统计及数据质量指标
- 03检查分布、相关性和离群值
- 04生成交互式 ECharts 报告
- 05补充业务洞察与建议
适用场景
- 01探索数据集结构与质量
- 02检查趋势、分组模式和异常
- 03根据表格数据制作交互式报告
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ eosphoros-ai/ db-gpt --skill csv-data-analysis安装后在 Claude Code 中输入/csv-data-analysis确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/reference.mdscripts/csv_analyzer.pyexample.pytemplates/report_template.html详细介绍
智能深度数据分析工具
数据分析工具是一款基于前端可视化技术(ECharts + Tailwind CSS)构建的 AI 驱动型深度自动化数据探索工具。它可快速提取统计特征、数据质量指标、数值分布、异常值检测结果、类别信息、相关性、排名和时间序列趋势。报告后半部分还会补充异常概览、归因线索和总结建议,生成精致且交互性强的 Web 分析报告。支持的格式包括 CSV、Excel(.xlsx/.xls)和 TSV。
报告遵循“前半部分进行基础数据分析,后半部分增强异常检测和归因分析”的结构。核心章节包括:执行摘要、数据概览与质量检查、数值分布特征、特征分析与结构分析、关系分析与异常识别、数据异常概览、归因分析模块、分析结果与统计详情、根本原因推断 / 结论 / 建议。
核心工作流(LLM 必读)
作为 AI 助手,当用户上传 CSV 或 Excel 文件并请求分析时,你必须严格遵循以下两个步骤:
步骤 1:提取数据特征(执行脚本)
使用 execute_skill_script_file 工具运行 csv_analyzer.py,并传入数据文件路径(支持 .csv、.xlsx、.xls、.tsv 格式)。
工具调用参数示例:
{
"skill_name": "csv-data-analysis",
"script_file_name": "csv_analyzer.py",
"args": {"input_file": "/path/to/data.csv or /path/to/data.xlsx"}
}
脚本返回内容说明:
脚本会返回一大段 text 内容,其中包含两部分:
- [统计摘要]:供你读取并了解数据集的基本特征、分布、相关性和类别构成。
- [标记包裹的数据块]:脚本输出包含格式为
###KEY_START###...###KEY_END###的标记数据块。后端会自动捕获并将这些数据注入模板——你无需处理或传递这些内容。
步骤 2:生成洞察并展示报告(注入模板)
阅读步骤 1 中获得的“统计摘要”,并分析数据背后的业务意义或规律。然后使用 html_interpreter 工具加载模板并注入数据。
关键规则(必须遵守):
-
必须将
template_path设为csv-data-analysis/templates/report_template.html。模板内置了完整的 ECharts 渲染 JavaScript 代码,以及所有章节标题和页脚文本。你只需通过data参数填充 9 个内容占位符。切勿自行编写或修改任何 JavaScript 图表渲染代码。 -
标记数据块由后端自动注入——不得在
data中传入这些数据。后端会自动从脚本输出的###KEY_START###...###KEY_END###标记中提取内容并注入模板;在此技能中,主要是CHART_DATA_JSON。 -
*_INSIGHTS、EXEC_SUMMARY和CONCLUSIONS必须使用 HTML 格式(例如<p>、<ul>、<li>、<strong>、<ol>),以确保布局正确。这些内容应是基于统计摘要撰写的深入业务洞察。 -
输出语言必须与用户输入的语言一致。 还必须传入
LANG占位符("en"或"zh"),以便模板中的硬编码章节标题、标签和页脚文本以相应语言显示。根据用户的查询判断语言:如果用户使用英语,则将LANG设为"en";如果用户使用中文,则将LANG设为"zh"。无法确定时,默认为"zh"。 -
必须恰好传入 9 个占位符,不多不少。
CHART_DATA_JSON等自动注入的标记字段由后端处理,不应由你传入。模板已硬编码所有章节标题(Distribution Analysis、Correlation Analysis 等)、洞察框标题("Insights")和页脚文本;无需传入这些内容(模板会根据LANG占位符自动翻译)。 -
洞察内容必须有实质性。 每个洞察模块都应涵盖 4 个层面:
observation(观察结果)、possible causes(可能原因)、business impact(业务影响)和action recommendations(行动建议)。不要只重复统计数值,也不要只写几条模糊的结论。 -
先进行基础分析,再将归因分析作为增强模块。 报告前半部分必须聚焦分析 CSV 本身的数据特征,包括数值分布、类别结构、异常值、相关性、排名规律等,并尽可能结合图表进行解读。“数据异常概览”“归因分析”和“根因推断”应作为增强模块出现在报告后半部分——整份报告不能只包含归因内容。
html_interpreter 调用示例:
{
"template_path": "csv-data-analysis/templates/report_template.html",
"data": {
"LANG": "en",
"REPORT_TITLE": "Sales Dataset Deep Analysis Report",
"REPORT_SUBTITLE": "Multi-dimensional Data Feature & Business Insight Mining",
"EXEC_SUMMARY": "<p>This dataset contains 1,000 rows and 5 columns with good data completeness. Key findings include:</p><ul><li><strong>Audience Distribution:</strong> Primarily concentrated in the 25-35 age group...</li></ul>",
"DISTRIBUTION_INSIGHTS": "<p>The numerical distribution chart reveals that Metric A exhibits a pronounced right-skewed distribution, suggesting...</p>",
"CORRELATION_INSIGHTS": "<p>The heatmap between variables reveals strong positive correlations, particularly between..., which implies...</p>",
"CATEGORICAL_INSIGHTS": "<p>Category proportions show that Beijing and Shanghai account for over 50% of the 'City' field.</p>",
"TIME_SERIES_INSIGHTS": "<p>The time series trend indicates a significant seasonal uptick toward year-end.</p>",
"CONCLUSIONS": "<p>Based on the comprehensive multi-dimensional analysis, the data exhibits clear structural features and patterns.</p><h3>Recommendations</h3><ul><li>Regularly monitor missing value ratios...</li><li>Focus on high-growth market segments...</li></ul>"
}
}
严格禁止:
- 不要在
data中传入CHART_DATA_JSON或任何自动注入的标记字段(由后端自动处理)- 不要在
data中添加任何 JavaScript 代码- 不要省略
template_path参数(省略template_path将导致图表无法渲染!)- 不要返回静态 PNG 图片——此工具已全面升级为 ECharts 动态前端渲染
- 不要传入不存在的占位符(模板仅包含以下 9 个文本占位符和 1 个自动注入的 CHART_DATA_JSON;其他名称将被忽略)
占位符参考(共 9 个,由 LLM 通过 data 传入)
需要在模板中填充的占位符如下:
| 占位符 | 类型 | 必填 | 描述 |
|---|---|---|---|
LANG | 文本 | 是 | 报告语言:英文为 "en",中文为 "zh"。决定所有章节标题、标签和页脚文本的语言。根据用户输入语言进行检测;默认值为 "zh" |
REPORT_TITLE | 文本 | 是 | 报告标题,例如:“销售数据集深度分析报告” |
REPORT_SUBTITLE | 文本 | 是 | 报告副标题,例如:“多维数据特征与业务洞察挖掘” |
EXEC_SUMMARY | HTML | 是 | 执行摘要:概述数据规模、关键发现和结论预览 |
DISTRIBUTION_INSIGHTS | HTML | 是 | 数值分布特征解读:偏度、波动性、分位数范围、离散程度 |
CORRELATION_INSIGHTS | HTML | 是 | 关系分析与异常识别解读:相关性、关联、离群值、结构关系 |
CATEGORICAL_INSIGHTS | HTML | 是 | 特征分析与结构分析解读:类别结构、集中度、排名和分组特征 |
TIME_SERIES_INSIGHTS | HTML | 是 | 数据异常概览章节的补充解读:如果存在时间列,则讨论趋势;如果不存在时间列,则讨论分层差异和异常模式 |
CONCLUSIONS | HTML | 是 | 根因推断、结论与建议正文;必须区分“数据证据”和“合理推测” |
注意:
csv_analyzer.py的输出中包含###CHART_DATA_JSON_START###...###CHART_DATA_JSON_END###标记数据块。后端会自动提取这些数据块并注入模板——不应将它们传入data。模板中的所有章节标题(例如“分布分析”“相关性分析”“结论与建议”)、洞察框标题(“洞察”)和页脚文本都在 HTML 中硬编码,并会根据LANG占位符自动翻译——无需通过占位符传入。
为什么选择此工具?
- 快速轻量: 不再需要缓慢的 Python 绘图和批量生成 PNG——只传输核心 JSON 数据。
- 现代交互式布局: 完全集成 Tailwind CSS 响应式布局和 Apache ECharts 流畅的动画交互。
- 深度业务洞察: 通过分离由机器驱动的数据提取和由 LLM 驱动的逻辑推理,此工具可生成极具价值的数据分析报告。
文件结构
csv-data-analysis/
├── SKILL.md # The skill guide you are currently reading
├── scripts/
│ └── csv_analyzer.py # Python analysis engine (supports CSV/Excel/TSV, lightweight, no graphics dependencies)
└── templates/
└── report_template.html # Responsive ECharts report template (with built-in rendering logic and hardcoded titles)