如何在Dify中对用户上传的Excel表格数据进行多维交叉统计

P粉328763957

P粉328763957

2026-08-04

798人浏览

原创

dify可通过安装文档提取器和echarts插件,结合文档提取器(启用表格结构识别、保留行列信息、自动检测多工作表)、llm节点(输出json统计指令)、参数提取器(解析分组/聚合/交叉配置)及自定义代码节点(内置pandas执行交叉统计),全自动完成excel多维分析。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何在dify中对用户上传的excel表格数据进行多维交叉统计

你需要让Dify自动解析用户上传的Excel文件,识别多个维度字段(如地区、时间、产品类别、销售额),执行分组聚合、行列交叉、同比环比等统计运算,并输出结构化结果——整个过程不依赖人工写SQL或Python脚本,也不需要切换到外部工具。

安装并启用核心插件

登录Dify控制台,进入项目编辑页,点击左侧「插件市场」→ 搜索“文档提取器”并安装 → 再搜索“ECharts图表生成工具”并安装。【必须安装文档提取器,否则后续所有统计节点无法获取原始表格结构】

返回画布,确认左侧组件面板中已出现“文档提取器”和“参数提取器”两个分类。若未显示,请刷新页面后重试。

配置文档提取器以保留多维语义

在Chatflow画布中添加“文档提取器”节点,将其拖拽至开始节点正下方。

选中该节点,在右侧配置面板中勾选「启用表格结构识别」和「保留原始行列信息」;同时开启「自动检测多工作表」选项——Dify会为每个Sheet生成独立数据流,便于后续按业务模块分别统计。

这一步决定模型能否区分“北京-2024Q1-手机-销售额=120万”这样的四维组合。若未开启结构识别,所有单元格将被扁平拼接成纯文本,维度关系彻底丢失,交叉统计必然失败。

构建多维统计工作流主干

按顺序添加以下节点:开始节点 → 文档提取器 → LLM节点 → 参数提取器 → 自定义代码节点 → 回复节点。

注意:LLM节点必须接收文档提取器的content输出,且需在User Prompt中明确要求输出JSON格式的统计指令,例如:“请根据表格内容,按‘城市’和‘月份’两个维度交叉汇总‘销售额’与‘订单量’,计算每个单元格的合计值,并以JSON数组形式返回,字段名必须为city、month、sales_sum、order_count。”

参数提取器需配置三个输出变量:group_fields(字符串数组,如["city","month"])、agg_fields(对象,如{"sales_sum":"sum","order_count":"count"})、pivot_config(布尔值,true表示需转置为行列交叉表)。

用自定义代码节点执行交叉统计

方法一:使用内置pandas逻辑(推荐初学者)

Python对Excel操作详解 中文WORD版
Python对Excel操作详解 中文WORD版

本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd、xlwt和xlutils模块。另外还演示了如何通过Tcl tcom包对excel操作。感兴趣的朋友可以过来看看

下载

在自定义代码节点中粘贴以下Python脚本:

import pandas as pd<br>import json<br><br>def main(content, group_fields, agg_fields, pivot_config):<br>  df = pd.DataFrame(content)<br>  if not group_fields or len(group_fields)     return {"error": "至少需指定2个分组字段"}<br>  agg_dict = {k: v for k, v in agg_fields.items() if k in df.columns}<br>  result = df.groupby(group_fields).agg(agg_dict).reset_index()<br>  if pivot_config:<br>    # 将第二分组字段转为列头,实现交叉表<br>    pivot_col = group_fields[1]<br>    index_cols = [c for c in group_fields if c != pivot_col]<br>    result = result.pivot_table(<br>      index=index_cols,<br>      columns=pivot_col,<br>      values=list(agg_dict.keys()),<br>      aggfunc='first'<br>    ).reset_index()<br>  return {"data": result.to_dict('records')}

方法二:手动构造交叉表(适合需控制小数位/空值填充场景)

替换上述脚本中pivot部分为:

if pivot_config:<br>  result = pd.crosstab(<br>    df[group_fields[0]],<br>    df[group_fields[1]],<br>    values=df[list(agg_dict.keys())[0]],<br>    aggfunc=list(agg_dict.values())[0],<br>    margins=True<br>  )

⚠️注意:若原始Excel含合并单元格,Dify预处理阶段已自动展开填充,无需额外处理;但若用户上传的是.xls旧格式,需提醒其转存为.xlsx再上传,否则openpyxl可能读取异常。

连接并验证多维统计输出

第一步:将参数提取器的group_fieldsagg_fieldspivot_config三个变量,全部映射为自定义代码节点的输入参数。

第二步:将自定义代码节点的data输出字段,连接至回复节点的响应体(Response Body)。

第三步:上传一份含“省份”“季度”“产品线”“销量”“成本”的Excel样例,输入自然语言查询:“按省份和产品线交叉统计销量总和与成本均值”,运行测试。

此时回复内容应为标准JSON数组,每项包含province、product_line、sales_sum、cost_mean四个字段;若启用了pivot_config,还会看到嵌套结构如{"华东":{"手机":1250,"电脑":890}}。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

excel excel表格 dify

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
数据分析的方法
数据分析的方法

数据分析的方法有:对比分析法,分组分析法,预测分析法,漏斗分析法,AB测试分析法,象限分析法,公式拆解法,可行域分析法,二八分析法,假设性分析法。php中文网为大家带来了数据分析的相关知识、以及相关文章等内容。

2023.07.04

964

6

数据分析方法有哪几种
数据分析方法有哪几种

数据分析方法有:1、描述性统计分析;2、探索性数据分析;3、假设检验;4、回归分析;5、聚类分析。本专题为大家提供数据分析方法的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.07

1101

5

网站建设功能有哪些
网站建设功能有哪些

网站建设功能包括信息发布、内容管理、用户管理、搜索引擎优化、网站安全、数据分析、网站推广、响应式设计、社交媒体整合和电子商务等功能。这些功能可以帮助网站管理员创建一个具有吸引力、可用性和商业价值的网站,实现网站的目标。

2023.10.16

2649

14

数据分析网站推荐
数据分析网站推荐

数据分析网站推荐:1、商业数据分析论坛;2、人大经济论坛-计量经济学与统计区;3、中国统计论坛;4、数据挖掘学习交流论坛;5、数据分析论坛;6、网站数据分析;7、数据分析;8、数据挖掘研究院;9、S-PLUS、R统计论坛。想了解更多数据分析的相关内容,可以阅读本专题下面的文章。

2024.03.13

1167

8

Python 数据分析处理
Python 数据分析处理

本专题聚焦 Python 在数据分析领域的应用,系统讲解 Pandas、NumPy 的数据清洗、处理、分析与统计方法,并结合数据可视化、销售分析、科研数据处理等实战案例,帮助学员掌握使用 Python 高效进行数据分析与决策支持的核心技能。

2025.09.08

1344

12

Python 数据分析与可视化
Python 数据分析与可视化

本专题聚焦 Python 在数据分析与可视化领域的核心应用,系统讲解数据清洗、数据统计、Pandas 数据操作、NumPy 数组处理、Matplotlib 与 Seaborn 可视化技巧等内容。通过实战案例(如销售数据分析、用户行为可视化、趋势图与热力图绘制),帮助学习者掌握 从原始数据到可视化报告的完整分析能力。

2025.10.14

1966

24

Python 数据分析与可视化合集
Python 数据分析与可视化合集

聚焦 Python 在数据分析领域的核心应用,讲解 NumPy 数组运算、Pandas 数据清洗与聚合统计、缺失值与异常值处理、数据透视表生成,以及使用 Matplotlib、Seaborn、Pyecharts 制作折线图、柱状图、热力图、地图等多种可视化图表,适合数据分析师和运营人员快速掌握用 Python 从原始数据中挖掘洞察的能力。

2026.04.08

65

25

Python数据分析与Pandas高级实战
Python数据分析与Pandas高级实战

本专题围绕 Python 数据分析展开,系统讲解 Pandas 的高级用法,包括数据清洗、透视表、时间序列分析以及多表合并与分组操作。通过实战案例,帮助开发者掌握高效处理与分析数据的方法,提高数据处理效率与分析能力。

2026.04.13

69

25

Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

2026.06.05

72

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Dify零基础教程
Dify零基础教程

共0课时 | 100人学习

学习Agent,从Dify开始
学习Agent,从Dify开始

共0课时 | 95人学习

Dify 部署与运维指南
Dify 部署与运维指南

共0课时 | 0人学习