返回 Skill 列表
extension
分类: 其它无需 API Key

多维表格“快”分析报告助手

通用数据分析与可视化 Skill。当用户提供 Excel/CSV 数据文件并要求清洗、分析、汇总、透视、生成图表、Dashboard、分析报告时触发。覆盖销售数据、订单数据、商机数据、财务数据、运营数据等任意结构化表格数据。触发关键词:数据分析、数据清洗、数据汇总、透视表、Dashboard、报表、图表、分析报告、帮我看看这份数据、数据可视化、数据透视。

person作者: user_828fa760hubcommunity

data-analyst — 通用数据分析与可视化

概述

全自动数据分析管线:读取任意 Excel/CSV → 智能清洗 → 多维分析 → 生成 Excel 汇总(含图表)+ 交互式 HTML Dashboard。

核心脚本: scripts/data_pipeline.py

工作流程

Step 1: 获取输入文件

确认用户提供的数据文件路径,支持格式:

  • .xlsx / .xls (Excel)
  • .csv (逗号/制表符分隔,自动检测编码)

Step 2: 执行管线

使用 scripts/data_pipeline.py 一次性完成全流程:

PYTHON=/Users/lingyuan/.workbuddy/binaries/python/envs/default/bin/python3
SCRIPT=/Users/lingyuan/.workbuddy/skills/data-analyst/scripts/data_pipeline.py

$PYTHON $SCRIPT <input_file> <output_dir> [options]

常用参数

| 参数 | 说明 | 默认值 | |------|------|--------| | input | 输入文件路径 | 必填 | | output_dir | 输出目录 | 当前目录 | | --group-by | 分组维度,逗号分隔 | 自动检测前5个分类列 | | --value-col | 汇总值列 | 自动检测(优先金额/收入类列) | | --fill-null | 空值填充值 | 0 | | --no-dedup | 不去重 | 默认去重 | | --title | 报告标题 | 从文件名提取 |

最简调用(全自动)

$PYTHON $SCRIPT "销售数据.xlsx" "./output"

指定分析维度和汇总列

$PYTHON $SCRIPT "订单数据.xlsx" "./output" --group-by "区域,产品,销售员" --value-col "金额"

Step 3: 管线执行内容

管线自动执行以下 6 个步骤:

  1. 读取数据 — 自动选择第一个有数据的 Sheet,支持 UTF-8/GBK 编码
  2. 列类型检测 — 自动识别: 日期列、分类列、数值列、文本列、ID列
  3. 数据清洗 — 去除重复行 → 统一日期格式为 YYYY-MM-DD → 空值填充
  4. 多维分析 — 按各分类维度汇总 → 月度趋势 → 交叉分析 → 洞察生成
  5. 生成 Excel — 多 Sheet 汇总表 + 原生公式 + 柱状图/折线图/饼图
  6. 生成 Dashboard — 交互式 HTML(KPI 卡片 + 6种图表 + 数据表格 + Tab 切换)

Step 4: 输出文件

管线产出:

| 文件 | 说明 | |------|------| | <name>_汇总.xlsx | Excel 汇总(多 Sheet + 图表 + 公式) | | <name>_dashboard.html | 交互式 HTML Dashboard | | <name>_analysis.json | 分析结果 JSON(供二次开发) |

Step 5: 展示结果

  • 使用 preview_url 展示 HTML Dashboard
  • 使用 deliver_attachments 交付所有产出文件

列类型检测规则

脚本自动识别列的语义类型,无需手动指定:

| 类型 | 检测条件 | 典型列 | |------|----------|--------| | ID | 列名含"序号/编号/ID" | 订单编号, 序号 | | 日期 | 60%+ 值可解析为日期 | 日期, 创建时间 | | 分类 | 唯一值≤30 或占比<15% | 区域, 产品, 销售员 | | 数值 | numeric 且唯一值>20 | 金额, 数量, 单价 | | 文本 | 其余字符串列 | 备注, 描述 |

高级用法

仅生成 Excel(不要 Dashboard)

$PYTHON $SCRIPT "数据.xlsx" "./output" --no-dashboard

自定义空值填充

$PYTHON $SCRIPT "数据.xlsx" "./output" --fill-null "N/A"

二次分析 / 定制化

如果用户在管线结果基础上提出更精细的需求(如"帮我加一个利润率的计算"、"把区域分成南北方再对比"):

  1. 先用管线生成基础结果
  2. 再用 pandas/openpyxl 按用户需求做定制化处理
  3. 重新生成 Excel 和 Dashboard

此时应直接写 Python 代码处理,而非重复调用管线。

依赖

  • pandas, openpyxl, numpy
  • Python 3.9+ (推荐使用 managed runtime: /Users/lingyuan/.workbuddy/binaries/python/envs/default/bin/python3)

注意事项

  • 汇总值列自动选择优先匹配含"金额/总额/收入/销售/成本/利润"的列名
  • 日期统一仅对自动检测为日期类型的列生效
  • 交叉分析在分类维度 ≥ 2 时自动触发(取前两个维度做透视)
  • Dashboard 中的 Chart.js 从 CDN 加载,需要网络连接