Dify+DeepSeek | Excel数据一键可视化(创建步骤案例)(echarts助手.yml)(文档表格转图表、根据表格绘制图表、Excel绘制图表)

Dify部署参考:Dify Rag部署并集成在线Deepseek教程(Windows、部署Rag、安装Ragan安装、安装Dify安装、安装ollama安装)

Dify+DeepSeek - Excel数据一键可视化(创建步骤案例)-DSL工程文件(可直接导入)

Dify+DeepSeek - Excel数据一键可视化(创建步骤案例)-Markdown示例文件

功能:输入文档或表格------------>绘制图表

文章目录

创建步骤

点击创建Chatflow

python 复制代码
echart助手

删除已有节点

选中按Del:

创建上传文件节点

点击"开始",创建输入字段text(文件路径或url)



创建文档提取器

添加text字段输入:


为文档提取器输出创建Excel转csv节点

新建节点

模型我选择deepseek-reasoner

按照以下格式填入prompt(输入数据选择文档提取器/(x)text

python 复制代码
#角色
你是一个数据整理专家,删除数据格式的整理和格式的转换。
#数据
囚 文档提取器/(x)text
#任务
将数据转换成csv格式


修改节点名称为Excel转csv

Excel转csv节点创建参数提取器节点

新建节点

设置指令

python 复制代码
#任务
-提取csv格式的字符串

设置模型


设置输入变量

添加提取参数csv_data



为参数提取器节点创建代码执行节点

新建节点


代码填入

python 复制代码
import csv
import json

def main(csv_data):
    # 解析CSV
    reader = csv.DictReader(csv_data.strip().splitlines())
    rows = list(reader)
    
    # 自动识别列结构
    headers = reader.fieldnames
    if not headers or len(headers) < 2:
        return {'output': 'Error: 需要至少两列数据(1个分类列+1个数值列)'}
    
    # 默认第一列为分类轴,其余为数值列
    category_col = headers[0]
    value_columns = headers[1:]
    
    # 提取数据
    categories = [row[category_col] for row in rows]
    series_data = [
        {
            "name": col,
            "type": "bar",
            "data": [float(row[col]) for row in rows]  # 处理浮点数
        } for col in value_columns
    ]
    
    # 构建ECharts配置
    echarts_config = {
        "xAxis": {"type": "category", "data": categories},
        "yAxis": {"type": "value"},
        "series": series_data
    }
    
    # 返回结果
    return {'output': f'```echarts\n{json.dumps(echarts_config, ensure_ascii=False)}\n```'}

代码解释

以下是对该代码的详细技术解析:

1. 流程架构
  • 输入:接收CSV格式的原始字符串数据

  • 处理:通过三层转换 pipeline:

    复制代码
    CSV文本 → Python字典结构 → ECharts JSON配置 → Markdown代码块封装
  • 输出:符合Markdown扩展语法规范的ECharts图表代码块

2. 核心算法
  • 列智能识别算法:采用启发式规则

    python 复制代码
    if len(headers) >=2:
        第一列 = 分类轴
        后续列 = 数值系列
    else:
        触发错误处理
  • 类型强制转换:float(row[col])实现字符串到数值的类型安全转换

3. ECharts配置生成
  • 生成符合Apache ECharts v5+规范的配置结构
  • 动态构建坐标系:
    • X轴:自动映射分类维度
    • Y轴:自动推断为数值轴
  • 系列数据采用bar(柱状图)可视化编码
4. 异常处理边界
  • 列数校验:强制要求至少包含2列数据
  • 浮点转换:假设所有数值列均可转换为float类型(需注意潜在TypeError风险)
5. 运维增强特性
  • 输入数据规范化:通过strip().splitlines()处理不同平台的换行符差异
  • Unicode安全:ensure_ascii=False确保中文等字符正确显示
  • 结构化错误消息:返回标准字典格式,方便日志采集和监控

该代码特别适用于运维监控场景下的自动化报表生成,可将Zabbix、Prometheus等监控系统导出的CSV指标数据快速转换为可交互的可视化图表。

为执行代码节点添加直接回复节点

创建节点

输入直接回复内容(注意我修改了部分变量名,可能跟前面不兼容)

python 复制代码
filePath:
{{#1741057279322.filePath#}}
</br>

文档提取器text:
{{#1741058246976.text#}}
</br>

Excel转csv, csv text:
{{#1741058730753.text#}}
</br>

参数提取器csv_data:
{{#1741065751183.csv_data#}}
</br>

代码执行output:
{{#1741082638678.output#}}

节点测试 (无效)

测试文档提取器(Excel转csv失败了,改成Markdown转csv)

运行


我的dify见鬼了,提取excel都是空的

只能修改方案了,将后面的Excel转csv改成Markdown转csv

不过提示词貌似都不用改。

测试提取markdown(没有问题)

测试运行

点击预览,然后上传文件

在聊天框随便输入内容然后发送

然后工作流就会逐个运行,最后输出结果



点开右边工作流节点,能看到各个节点输入输出,方便调试

相关推荐
fengliaoai1 天前
DeepSeek搞了个DSpark,AI直接进入“秒回时代”,你还在傻等?
大模型
aqi003 天前
15天学会AI应用开发(九)利用Chroma持久化向量数据
人工智能·python·大模型·ai编程·ai应用
aqi009 天前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
aqi0010 天前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
vivo互联网技术11 天前
CVPR 2026 | 全新强化学习框架 BeautyGRPO:重塑真实人像
算法·大模型·cvpr·影像
AndrewHZ12 天前
【LLM技术全景】大模型能力探秘:In-Context Learning与思维链(CoT)
人工智能·语言模型·大模型·llm·cot·思维链·icl
Vergelight12 天前
实战拆解|三类RAG架构差异:朴素、进阶、多轮RAG落地选型指南
架构·大模型·aigc·agent·ai产品经理·转行·ai后台设计
问道飞鱼13 天前
【大模型相关】意图识别实现方案行业分析报告
大模型·意图识别
DogDaoDao13 天前
【GitHub】CL4R1T4S:AI 系统提示词的透明革命
人工智能·python·ai·大模型·github·ai agent·cl4r1t4s