name: feishu-table-analytics description: 飞书表格导出与数据分析工具;支持从飞书多维表格/电子表格导出数据,基于DuckDB执行SQL查询和统计分析,可选生成Chart.js可视化HTML报告;当用户需要备份飞书数据、分析表格数据、生成业务洞察或可视化报表时使用 dependency: python: - pandas>=1.3.0 - openpyxl>=3.0.0 - duckdb>=1.5.0 - numpy>=1.24.0 system: - lark-cli
基于 DuckDB 引擎的高效数据分析: - 数据探索:表结构、数值统计、分类统计、日期统计、数据质量 - SQL查询:智能SQL生成、自动重试、SQL校正(语法/列名/引号) - 数据抽样:支持按比例抽样验证查询逻辑 - 结果导出:支持CSV/Excel/JSON/Parquet格式
根据分析结果,由 AI 直接生成 Markdown 格式分析报告。
报告结构:
# {标题}
**数据来源**: {源文件}
**生成时间**: {时间}
---
## 洞察结论
- {关键发现1}
- {关键发现2}
- {业务建议}
## 关键指标
| 指标 | 数值 | 说明 |
|------|------|------|
| {指标1} | {值} | {说明} |
| {指标2} | {值} | {说明} |
## 数据概览
- **数据行数**: {行数}
- **数据列数**: {列数}
- **字段列表**: {字段1}, {字段2}, ...
## 分析查询
### 查询 1
```sql
{SELECT语句}
结果:
报告由 feishu-table-analytics 技能生成
将报告保存为 `{文件名}_report.md`。
### 四、可视化报告功能(可选)
基于 Chart.js 生成自包含 HTML 可视化报告:
- **KPI卡片**:顶部关键指标展示
- **多图表**:柱状图、折线图、饼图、雷达图等
- **洞察结论**:数据趋势、关键发现、业务建议
- **数据表格**:明细数据展示
## 使用方式
### 第一步:导出飞书表格
#### 导出多维表格
```bash
python scripts/main.py \
--url "https://xxx.feishu.cn/base/xxx" \
--table-name "员工列表" \
--output employees.csv
python scripts/main.py \
--url "https://xxx.feishu.cn/sheets/xxx" \
--output data.xlsx \
--format excel
# 完整统计(推荐)
python scripts/duckdb_analyzer.py --file_path ./employees.csv --mode describe
# 简单模式
python scripts/duckdb_analyzer.py --file_path ./employees.csv --mode describe --simple
# 导出分析报告
python scripts/duckdb_analyzer.py --file_path ./employees.csv --mode describe --output report.json
# 基础查询
python scripts/duckdb_analyzer.py --file_path ./employees.csv --mode query \
--sql "SELECT * FROM data LIMIT 10"
# 聚合分析
python scripts/duckdb_analyzer.py --file_path ./employees.csv --mode query \
--sql "SELECT department, COUNT(*) as count FROM data GROUP BY department"
# 抽样验证
python scripts/duckdb_analyzer.py --file_path ./employees.csv --mode query \
--sql "SELECT * FROM data WHERE salary > 10000" --sample_fraction 0.1
# 导出结果
python scripts/duckdb_analyzer.py --file_path ./employees.csv --mode query \
--sql "SELECT * FROM data" --output result.xlsx
3.1 AI 生成报告基础结构
根据分析结果,由 AI 生成 Markdown 报告(洞察、指标、概览、查询摘要),保存为 {源文件名}_report.md。
报告结构:
# {标题}
**数据来源**: {源文件}
**生成时间**: {时间}
---
## 洞察结论
- {关键发现1}
- {关键发现2}
- {业务建议}
## 关键指标
| 指标 | 数值 | 说明 |
|------|------|------|
| {指标1} | {值} | {说明} |
## 数据概览
- **数据行数**: {行数}
- **数据列数**: {列数}
- **字段列表**: {字段1}, {字段2}, ...
## 分析查询
### 查询 1
```sql
{SELECT语句}
结果: {结果摘要}
报告由 feishu-table-analytics 技能生成
**3.2 追加完整数据明细**
将分析结果中的完整表格数据追加到报告末尾:
```bash
python scripts/append_data_to_report.py \
--report analysis_report.md \
--data analysis_result.json \
--section "数据明细"
脚本会自动读取 JSON 数据,生成 Markdown 表格追加到报告(最多显示100行)。
当用户明确要求"生成报告"、"可视化"、"出图"或"制作图表"时执行此步骤。
根据分析结果构造 JSON 配置:
KPI 卡片(顶部关键指标):
[
{"label": "总营收", "value": "¥1,755,905", "sub": "全年累计", "color": "green"},
{"label": "订单数", "value": "200", "sub": "5 品类", "color": "blue"}
]
图表配置: - 占比/构成:doughnut 或 pie - 趋势/时间序列:line(fill: true 显示面积) - 分类对比(≤8 项):bar(垂直) - 分类对比(>8 项):horizontalBar(水平) - 多指标对比:分组 bar - 排名 Top N:水平 bar - 多维度对比:radar
洞察结论(insights): - 文本格式:每行一条洞察 - 内容建议:数据趋势、关键发现、业务建议
数据表格(tables):
{
"title": "销售明细",
"columns": ["category", "total_sales", "order_count"],
"data": [
{"category": "Electronics", "total_sales": 42938.24, "order_count": 120}
]
}
python scripts/generate_report.py \
--title "数据分析报告" \
--subtitle "数据来源:employees.csv" \
--data '{"kpis": [...], "charts": [...], "insights": "...", "tables": [...]}' \
--output report.html
完整分析流程:
1. 导出飞书表格到本地文件
2. 使用 duckdb_analyzer.py --mode describe 了解数据结构
3. 使用 SQL 查询执行数据分析
4. 根据分析结果生成 MD 分析报告(含洞察、SQL、结果)
5. 根据需要决定是否生成可视化 HTML 报告
输出产物: - 导出的数据文件(CSV/Excel) - 分析报告(MD):洞察结论 + SQL查询 + 结果数据 - 可视化报告(HTML,可选):图表展示
| 参数 | 必填 | 说明 |
|---|---|---|
--url |
是 | 飞书表格URL |
--table-name |
多维表格必填 | 数据表名称 |
--output |
是 | 输出文件路径 |
--format |
否 | 导出格式:csv或excel |
--no-record-id |
否 | 不包含record_id字段 |
| 参数 | 必填 | 说明 |
|---|---|---|
--file_path |
是 | 数据文件路径 |
--mode |
是 | describe/query |
--sql |
query模式必填 | SQL查询语句 |
--sample_fraction |
否 | 抽样比例(0-1) |
--output |
否 | 结果导出路径 |
--excel_sheet |
否 | Excel工作表名称 |
| 参数 | 必填 | 说明 |
|---|---|---|
--report |
是 | MD 报告文件路径 |
--data |
是 | 分析结果 JSON 文件路径 |
--section |
否 | 章节标题,默认"数据明细" |
| 参数 | 必填 | 说明 |
|---|---|---|
--title |
是 | 报告标题 |
--data |
是 | JSON字符串,含kpis/charts/tables/insights |
--subtitle |
否 | 副标题 |
--output |
否 | 输出HTML文件路径,默认report.html |
--footer |
否 | 页脚文字 |
npm install -g @larksuite/cli
lark-cli config init --new
scripts/main.py 执行(内部封装了lark-cli调用)scripts/duckdb_analyzer.py 执行,禁止手动编写 Python 代码处理数据scripts/append_data_to_report.py 将完整数据追加到报告scripts/generate_report.py 执行(可选)本技能来自小葱技能站7w4.net。
| 类型 | 用途 | 配置示例 |
|---|---|---|
| bar | 柱状图(分类对比) | {"type": "bar", "labels": [...], "datasets": [{"data": [...]}]} |
| horizontalBar | 水平柱状图(排名) | {"type": "horizontalBar", "labels": [...], "datasets": [{"data": [...]}]} |
| line | 折线图(趋势) | {"type": "line", "labels": [...], "datasets": [{"data": [...]}]} |
| doughnut/pie | 环形/饼图(占比) | {"type": "doughnut", "labels": [...], "datasets": [{"data": [...]}]} |
| radar | 雷达图(多维度) | {"type": "radar", "labels": [...], "datasets": [{"data": [...]}]} |
describe 模式了解数据结构--sample_fraction 验证这是一款实用且功能丰富的飞书表格数据处理工具,能够帮助用户快速导出数据并进行统计分析,生成可视化的图表报告。整体质量不错,操作流程清晰,适合有数据分析需求的用户使用。主要优势是功能集成度高,从导出到分析再到出图一气呵成;不足之处是依赖外部CLI工具,安装配置稍显繁琐,且部分功能说明与实际支持情况存在不一致的地方,初次使用可能需要一些时间来摸索。