表格数据统计
Purpose
读取本地 CSV/XLSX,输出列概览、数值描述统计,以及可选的分组聚合结果。
Instructions
- 参数:
path:表格文件路径(优先使用上游file-search的files[0].path)group_by:可选分组列agg_col:可选聚合数值列agg_func:sum|mean|count|min|max,默认sumhead:预览行数,默认 5
- 若缺
path:先调用search_files(root=data, query=*.csv|*.xlsx)取第一个命中。 - 用
tools.spreadsheet.load_table读取;生成:profile: 列名、dtype、非空数、唯一值数numeric_describe: count/mean/std/min/25%/50%/75%/maxgroup_result: 指定分组聚合(若提供 group_by)
- 输出 JSON,键固定:
skill, ok, path, rows, cols, profile, numeric_describe, group_result, preview, warnings, fallback。 - 读表失败:尝试用 pandas 默认引擎/latin-1 重试;仍失败则查 KB
table_tips并降级返回错误说明。
Multi-skill hooks
- 结果可直接喂给
report-gen(context.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 打开中 | 提示关闭文件或复制副本 |