Dify+DeepSeek | Excel數據一鍵可視化(創建步驟案例)(echarts助手.yml)(文檔表格轉圖表、根據表格繪制圖表、Excel繪制圖表)

Dify部署參考:Dify Rag部署并集成在線Deepseek教程(Windows、部署Rag、安裝Ragan安裝、安裝Dify安裝、安裝ollama安裝)

Dify+DeepSeek - Excel數據一鍵可視化(創建步驟案例)-DSL工程文件(可直接導入)

Dify+DeepSeek - Excel數據一鍵可視化(創建步驟案例)-Markdown示例文件

功能:輸入文檔或表格————>繪制圖表

文章目錄

  • 創建步驟
    • 點擊創建Chatflow
    • 刪除已有節點
    • 創建上傳文件節點
      • 點擊“開始”,創建輸入字段text(文件路徑或url)
      • 創建文檔提取器
    • 為文檔提取器輸出創建`Excel轉csv`節點
      • 新建節點
      • 模型我選擇deepseek-reasoner
      • 按照以下格式填入prompt(輸入數據選擇`文檔提取器/(x)text`)
      • 修改節點名稱為`Excel轉csv`
    • 為`Excel轉csv`節點創建參數提取器節點
      • 新建節點
      • 設置指令
      • 設置模型
      • 設置輸入變量
      • 添加提取參數`csv_data`
    • 為參數提取器節點創建代碼執行節點
      • 新建節點
      • 代碼填入
      • 代碼解釋
        • 1. **流程架構**:
        • 2. **核心算法**:
        • 3. **ECharts配置生成**:
        • 4. **異常處理邊界**:
        • 5. **運維增強特性**:
    • 為執行代碼節點添加直接回復節點
      • 創建節點
      • 輸入直接回復內容(注意我修改了部分變量名,可能跟前面不兼容)
  • ~~節點測試~~ (無效)
    • 測試`文檔提取器`(Excel轉csv失敗了,改成Markdown轉csv)
      • 運行
      • 我的dify見鬼了,提取excel都是空的
      • 只能修改方案了,將后面的`Excel轉csv`改成`Markdown轉csv`
      • 測試提取markdown(沒有問題)
  • 測試運行
    • 點擊預覽,然后上傳文件
    • 在聊天框隨便輸入內容然后發送
    • 然后工作流就會逐個運行,最后輸出結果
    • 點開右邊工作流節點,能看到各個節點輸入輸出,方便調試

創建步驟

點擊創建Chatflow

在這里插入圖片描述

echart助手

在這里插入圖片描述

刪除已有節點

選中按Del:
在這里插入圖片描述
在這里插入圖片描述

創建上傳文件節點

點擊“開始”,創建輸入字段text(文件路徑或url)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

創建文檔提取器

在這里插入圖片描述
添加text字段輸入:

在這里插入圖片描述
在這里插入圖片描述

為文檔提取器輸出創建Excel轉csv節點

新建節點

在這里插入圖片描述

模型我選擇deepseek-reasoner

在這里插入圖片描述

按照以下格式填入prompt(輸入數據選擇文檔提取器/(x)text

#角色
你是一個數據整理專家,刪除數據格式的整理和格式的轉換。
#數據
囚 文檔提取器/(x)text
#任務
將數據轉換成csv格式

在這里插入圖片描述
在這里插入圖片描述

修改節點名稱為Excel轉csv

在這里插入圖片描述

Excel轉csv節點創建參數提取器節點

新建節點

在這里插入圖片描述

設置指令

#任務
-提取csv格式的字符串

在這里插入圖片描述

設置模型

在這里插入圖片描述
在這里插入圖片描述

設置輸入變量

在這里插入圖片描述

在這里插入圖片描述

添加提取參數csv_data

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

為參數提取器節點創建代碼執行節點

新建節點

在這里插入圖片描述
在這里插入圖片描述

代碼填入

import csv
import jsondef main(csv_data):# 解析CSVreader = csv.DictReader(csv_data.strip().splitlines())rows = list(reader)# 自動識別列結構headers = reader.fieldnamesif 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. 核心算法
  • 列智能識別算法:采用啟發式規則
    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指標數據快速轉換為可交互的可視化圖表。

為執行代碼節點添加直接回復節點

創建節點

在這里插入圖片描述

輸入直接回復內容(注意我修改了部分變量名,可能跟前面不兼容)

在這里插入圖片描述

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(沒有問題)

在這里插入圖片描述

測試運行

點擊預覽,然后上傳文件

在這里插入圖片描述

在聊天框隨便輸入內容然后發送

在這里插入圖片描述

然后工作流就會逐個運行,最后輸出結果

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

點開右邊工作流節點,能看到各個節點輸入輸出,方便調試

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72669.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72669.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72669.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vscode mac版本 配置git

首先使用 type -a git查看git的安裝目錄 然后在vscode中找到settings配置文件&#xff0c;修改git.path

JVM與性能調優詳解

以下是關于 JVM與性能調優 的詳細解析&#xff0c;結合理論、實踐及常見問題&#xff0c;分多個維度展開&#xff1a; 一、JVM性能調優的核心目標 性能調優的核心目標是通過優化內存管理、垃圾回收&#xff08;GC&#xff09;策略和線程管理&#xff0c;實現以下平衡&#xff…

Vue23Web 基礎性拉滿的面試題(2025版)還沒更新完...

Vue2&3 基礎性1. 關於Vue2和Vue3生命週期的差別2. Vue2&3組件之間傳參不同點Vue2 傳遞與接收Vue3 傳遞與接收 (使用script setup語法糖)Vue3 傳遞與接收 (不使用script setup語法糖) 3. Vue2&3 keep-alive 組件Vue2 keep-aliveVue3 keep-alive 進階性爲什麼POST請求…

基于SpringBoot實現旅游酒店平臺功能一

一、前言介紹&#xff1a; 1.1 項目摘要 隨著社會的快速發展和人民生活水平的不斷提高&#xff0c;旅游已經成為人們休閑娛樂的重要方式之一。人們越來越注重生活的品質和精神文化的追求&#xff0c;旅游需求呈現出爆發式增長。這種增長不僅體現在旅游人數的增加上&#xff0…

【程序自動分析——并查集,離散化】

題目 代碼&#xff08;注意不是把p修改為unordered_map&#xff0c;而是增加一個get&#xff09; #include <bits/stdc.h> using namespace std;const int N 2e510; //n個數據&#xff0c;可能引入2*n個離散點int p[N]; bool cannot; unordered_map<int, int> mp…

審批流AntV框架螞蟻數據可視化X6餅圖(附注釋)

大家好&#xff0c;這次使用的是AntV的螞蟻數據可視化X6框架&#xff0c;類似于審批流的場景等&#xff0c;代碼如下&#xff1a; X6框架參考網址&#xff1a;https://x6.antv.vision/zh/examples/showcase/practices#bpmn 可以進入該網址&#xff0c;直接復制下方代碼進行調試…

linux取代ls的命令行工具:eza

官方倉庫 https://github.com/eza-community/eza 安裝 cargo install eza驗證 eza --version用法 替換ls 別名 安裝文檔 官方提供的安裝文檔是這個 https://github.com/eza-community/eza/blob/main/INSTALL.md 可以通過cargo命令安裝&#xff0c;debian還可以通過apt安裝…

【DeepSeek】Ubuntu快速部署DeepSeek(Ollama方式)

文章目錄 人人都該學習的DeepSeekDeepSeek不同版本功能差異DeepSeek與硬件直接的關系DeepSeek系統兼容性部署方式選擇部署步驟&#xff08;Ollama方式&#xff09;1.選定適合的deepseek版本2.環境準備3.安裝Ollama4.部署deepseek5.測試使用 人人都該學習的DeepSeek DeepSeek 作…

redis熱key

在 Redis 中&#xff0c;熱 Key&#xff08;Hot Key&#xff09; 是指被頻繁訪問的 Key&#xff0c;可能會導致以下問題&#xff1a; 性能瓶頸&#xff1a;單個 Redis 實例的 CPU 或網絡帶寬被耗盡。 數據傾斜&#xff1a;在 Redis 集群中&#xff0c;熱 Key 可能導致某個節點…

宇樹科技嵌入式面試題及參考答案(春晚機器人的公司)

目錄 設計一個帶看門狗(Watchdog)的嵌入式系統,描述故障恢復流程 在資源受限的 MCU 上實現 OTA 升級功能,描述關鍵設計點 如何實現 OTA(空中升級)功能?描述固件校驗和回滾機制的設計要點 推挽輸出與開漏輸出的區別?舉例說明其在 GPIO 控制中的應用 UART、SPI、I2C …

Axure常用變量及使用方法詳解

點擊下載《Axure常用變量及使用方法詳解.pdf》 摘要 Axure RP 作為一款領先的前端原型設計工具&#xff0c;提供了全面的 變量 和 函數 系統&#xff0c;以支持復雜的交互設計和動態內容展示。本文將從專業角度詳細解析 Axure 中的 全局變量、中繼器數據集變量/函數、元件變量…

SpringBoot - 用責任鏈模式實現業務編排

文章目錄 前因責任鏈&#xff1a;像工作臺一樣組織代碼CodeSEQ3.1 定義處理器規范3.2 實現具體處理器3.3 共享上下文3.4 組裝責任鏈 適用場景優勢 前因 2000多行的業務邏輯里&#xff0c;各種校驗規則、促銷計算、庫存操作像意大利面條一樣纏繞在一起。最要命的是這樣的代碼結…

upload-labs詳解(13-20)文件上傳分析

目錄 upload-labs-env upload-labs-env第十三關 文件包含漏洞 代碼 測試 上傳一個.jpg圖片 上傳一個.png文件 上傳一個.gif圖片 upload-labs-env第十四關 代碼 思路 upload-labs-env第十五關 代碼 思路 upload-labs-env第十六關 代碼 思路 測試 上傳gif格式…

網絡安全通信架構圖

&#x1f345; 點擊文末小卡片 &#xff0c;免費獲取網絡安全全套資料&#xff0c;資料在手&#xff0c;漲薪更快 在安全通信里面我經常聽到的2個東西就是SSL和TLS&#xff0c;這2個有什么區別呢&#xff1f;以及HTTPS是怎么通信的&#xff1f;包括對稱加密、非對稱加密、摘要、…

Java中的String類

目錄 1. String類的重要性 2. 常用方法 2.1 字符串構造 2.2 String對象的比較 2.3 字符串查找 2.4 轉化 2.5 字符串替換 2.6 字符串拆分 2.7 字符串截取 2.8 其他操作方法 2.9 字符串的不可變性 2.10 字符串修改 3. StringBuilder和StringBuffer 3.1 StringBuilde…

深度分頁介紹及優化建議

深度分頁介紹 查詢偏移量過大的場景我們稱為深度分頁&#xff0c;這會導致查詢性能較低&#xff0c;例如&#xff1a; # MySQL 在無法利用索引的情況下跳過1000000條記錄后&#xff0c;再獲取10條記錄 SELECT * FROM t_order ORDER BY id LIMIT 1000000, 10 深度分頁問題的原…

live555推流服務器異常

1.后端異常信息&#xff1a; MultiFramedRTPSink::afterGettingFrame1(): The input frame data was too large for our buffer size (100176). 48899 bytes of trailing data was dropped! Correct this by increasing "OutPacketBuffer::maxSize" to at least m…

每日OJ_牛客_宵暗的妖怪_DP_C++_Java

目錄 牛客_宵暗的妖怪_DP 題目解析 C代碼 Java代碼 牛客_宵暗的妖怪_DP 宵暗的妖怪 描述&#xff1a; 露米婭作為宵暗的妖怪&#xff0c;非常喜歡吞噬黑暗。這天&#xff0c;她來到了一條路上&#xff0c;準備吞噬這條路上的黑暗。這條道路一共被分為n 部分&…

20250306-筆記-精讀class CVRPEnv:step(self, selected)

文章目錄 前言一、if self.time_step<4:控制時間步的遞增判斷是否在配送中心特定時間步的操作更新更新當前節點和已選擇節點列表更新需求和負載更新訪問標記更新負無窮掩碼更新步驟狀態&#xff0c;將更新后的狀態同步到 self.step_state 二、使用步驟總結 前言 class CVRP…

Flowable 基本入門

flowable.7z官方版下載丨最新版下載丨綠色版下載丨APP下載-123云盤 1、Flowable介紹 Flowable是BPMN的一個基于java的軟件實現&#xff0c;不過Flowable不僅僅包括BPMN&#xff0c;還有DMN決策表和CMMN Case管理引擎&#xff0c;并且有自己的用戶管理、微服務API等一系列功能&a…