Table Stats

对 CSV/Excel 表格做描述性统计与分组汇总。Use when 用户提到"统计表格"、"算平均值"、"数据汇总"、"分析 Excel/CSV"、"summarize data"、"按某列分组"。不要用于生成长篇报告正文或写邮件。

moli-lihuashi Updated

File contents

表格数据统计

Purpose

读取本地 CSV/XLSX,输出列概览、数值描述统计,以及可选的分组聚合结果。

Instructions

  1. 参数:
    • path:表格文件路径(优先使用上游 file-searchfiles[0].path
    • group_by:可选分组列
    • agg_col:可选聚合数值列
    • agg_funcsum|mean|count|min|max,默认 sum
    • head:预览行数,默认 5
  2. 若缺 path:先调用 search_files(root=data, query=*.csv|*.xlsx) 取第一个命中。
  3. tools.spreadsheet.load_table 读取;生成:
    • profile: 列名、dtype、非空数、唯一值数
    • numeric_describe: count/mean/std/min/25%/50%/75%/max
    • group_result: 指定分组聚合(若提供 group_by)
  4. 输出 JSON,键固定:skill, ok, path, rows, cols, profile, numeric_describe, group_result, preview, warnings, fallback
  5. 读表失败:尝试用 pandas 默认引擎/latin-1 重试;仍失败则查 KB table_tips 并降级返回错误说明。

Multi-skill hooks

  • 结果可直接喂给 report-gencontext.table_stats)。
  • 串联示例:「找出销售表并统计各区域销售额」→ file-search + table-stats。

Examples

User: 统计 D:...\sales.csv 按 Region 的销售额 → group_by=Region, agg_col=sales, agg_func=sum

Troubleshooting

错误 原因 处理
EmptyDataError 空文件/错分隔符 自动 sniff sep 再读
KeyError group_by 列名不符 fuzzy match 列名(忽略空格/大小写)
文件被占用 Excel 打开中 提示关闭文件或复制副本

moli-lihuashi/skill-office-agent/tree/main/skills/table-stats commit f625a73039

Frequently asked questions

npx skillmds@latest add moli-lihuashi/table-stats