mcpField
C
csv-data-analysis

csv-data-analysis

github.com/eosphoros-ai数据与数据库20.2k37 次安装2 天前更新
代码仓库

关于 csv-data-analysis

csv-data-analysis 是分析 CSV、Excel 和 TSV 文件并生成交互式网页报告的技能。它结合脚本统计提取与 LLM 解读,涵盖数据质量、分布、关系、异常和建议。

主要功能

  1. 01分析 CSV、Excel 和 TSV 文件
  2. 02提取统计及数据质量指标
  3. 03检查分布、相关性和离群值
  4. 04生成交互式 ECharts 报告
  5. 05补充业务洞察与建议

适用场景

  1. 01探索数据集结构与质量
  2. 02检查趋势、分组模式和异常
  3. 03根据表格数据制作交互式报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/eosphoros-ai/db-gpt --skill csv-data-analysis

安装后在 Claude Code 中输入/csv-data-analysis确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
reference.md
scripts/
csv_analyzer.py
example.py
templates/
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 内容,其中包含两部分:

  1. [统计摘要]:供你读取并了解数据集的基本特征、分布、相关性和类别构成。
  2. [标记包裹的数据块]:脚本输出包含格式为 ###KEY_START###...###KEY_END### 的标记数据块。后端会自动捕获并将这些数据注入模板——你无需处理或传递这些内容。
步骤 2:生成洞察并展示报告(注入模板)

阅读步骤 1 中获得的“统计摘要”,并分析数据背后的业务意义或规律。然后使用 html_interpreter 工具加载模板并注入数据。

关键规则(必须遵守):

  1. 必须将 template_path 设为 csv-data-analysis/templates/report_template.html。模板内置了完整的 ECharts 渲染 JavaScript 代码,以及所有章节标题和页脚文本。你只需通过 data 参数填充 9 个内容占位符。切勿自行编写或修改任何 JavaScript 图表渲染代码。

  2. 标记数据块由后端自动注入——不得在 data 中传入这些数据。后端会自动从脚本输出的 ###KEY_START###...###KEY_END### 标记中提取内容并注入模板;在此技能中,主要是 CHART_DATA_JSON。

  3. *_INSIGHTS、EXEC_SUMMARY 和 CONCLUSIONS 必须使用 HTML 格式(例如 <p>、<ul>、<li>、<strong>、<ol>),以确保布局正确。这些内容应是基于统计摘要撰写的深入业务洞察。

  4. 输出语言必须与用户输入的语言一致。 还必须传入 LANG 占位符("en" 或 "zh"),以便模板中的硬编码章节标题、标签和页脚文本以相应语言显示。根据用户的查询判断语言:如果用户使用英语,则将 LANG 设为 "en";如果用户使用中文,则将 LANG 设为 "zh"。无法确定时,默认为 "zh"。

  5. 必须恰好传入 9 个占位符,不多不少。 CHART_DATA_JSON 等自动注入的标记字段由后端处理,不应由你传入。模板已硬编码所有章节标题(Distribution Analysis、Correlation Analysis 等)、洞察框标题("Insights")和页脚文本;无需传入这些内容(模板会根据 LANG 占位符自动翻译)。

  6. 洞察内容必须有实质性。 每个洞察模块都应涵盖 4 个层面:observation(观察结果)、possible causes(可能原因)、business impact(业务影响)和 action recommendations(行动建议)。不要只重复统计数值,也不要只写几条模糊的结论。

  7. 先进行基础分析,再将归因分析作为增强模块。 报告前半部分必须聚焦分析 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_SUMMARYHTML是执行摘要:概述数据规模、关键发现和结论预览
DISTRIBUTION_INSIGHTSHTML是数值分布特征解读:偏度、波动性、分位数范围、离散程度
CORRELATION_INSIGHTSHTML是关系分析与异常识别解读:相关性、关联、离群值、结构关系
CATEGORICAL_INSIGHTSHTML是特征分析与结构分析解读:类别结构、集中度、排名和分组特征
TIME_SERIES_INSIGHTSHTML是数据异常概览章节的补充解读:如果存在时间列,则讨论趋势;如果不存在时间列,则讨论分层差异和异常模式
CONCLUSIONSHTML是根因推断、结论与建议正文;必须区分“数据证据”和“合理推测”

注意: csv_analyzer.py 的输出中包含 ###CHART_DATA_JSON_START###...###CHART_DATA_JSON_END### 标记数据块。后端会自动提取这些数据块并注入模板——不应将它们传入 data。模板中的所有章节标题(例如“分布分析”“相关性分析”“结论与建议”)、洞察框标题(“洞察”)和页脚文本都在 HTML 中硬编码,并会根据 LANG 占位符自动翻译——无需通过占位符传入。

为什么选择此工具?

  1. 快速轻量: 不再需要缓慢的 Python 绘图和批量生成 PNG——只传输核心 JSON 数据。
  2. 现代交互式布局: 完全集成 Tailwind CSS 响应式布局和 Apache ECharts 流畅的动画交互。
  3. 深度业务洞察: 通过分离由机器驱动的数据提取和由 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)

评论

支持 Markdown