开始
本文将分步骤讲解如何使用Dify平台,创建从文档文本提取到CSV转换,再到ECharts可视化的完整工作流。我们将逐步说明如何自动分析Excel文档并构建交互式仪表盘。
环境准备
Dify账号:创建账号并准备工作区
示例数据:准备数值型Excel格式文档
聊天流程创建
1. 从Dify仪表盘选择「聊天流程」
设置工作流名称为「文档可视化工具」
2. 添加「文档上传」组件作为输入字段
3. 向流程中添加文本提取工具
配置从上传文档中提取文本
将提取结果传递给后续步骤处理
4. LLM进行CSV转换
#角色
你是数据整理专家,负责数据格式整理和格式转换。
#数据
{{#1742042932212.text#}}
#任务
将数据转换为CSV格式并输出。
5. 使用Python脚本生成ECharts
import csv
import json
def main(csv_string):
lines = csv_string.strip().split('\n')
reader = csv.reader(lines)
data = [row for row in reader]
# 转换数值(除表头行和第一列外)
for row in data[1:]:
for i in range(1, len(row)):
try:
row[i] = float(row[i])
except ValueError:
pass
cols = len(data[0])
rows = len(data) - 1
echarts_config = {
"legend": {},
"tooltip": {},
"dataset": {
"source": data
},
"xAxis": [
{
"type": "category",
"gridIndex": 0,
"data": data[0][1:] # 列标签(排除第一列)
},
{
"type": "category",
"gridIndex": 1,
"data": [row[0] for row in data[1:]] # 行标签(第二行之后的第一列)
}
],
"yAxis": [
{"type": "value", "gridIndex": 0},
{"type": "value", "gridIndex": 1}
],
"grid": [
{"bottom": "55%"},
{"top": "55%"}
],
"series": []
}
# 行方向的柱状图系列(每行生成一个系列)
row_series = []
for row in data[1:]:
row_series.append({
"type": "bar",
"seriesLayoutBy": "row",
"name": row[0],
"xAxisIndex": 0,
"yAxisIndex": 0
})
# 列方向的柱状图系列(每列生成一个系列,排除第一列)
col_series = []
for col_idx in range(1, cols):
col_series.append({
"type": "bar",
"seriesLayoutBy": "column",
"name": data[0][col_idx],
"xAxisIndex": 1,
"yAxisIndex": 1
})
echarts_config["series"] = row_series + col_series
output = "\n```echarts\n" + json.dumps(echarts_config, indent=2, ensure_ascii=False) + "\n```"
return {"output": output}
6. 输出提取的文本和ECharts图表
7. 发布和运行应用
8. 测试运行
上传Excel文件
发送消息后自动可视化
生成类似以下双柱状图:
总结
该工具的特点:
- 支持多种文档格式(Excel/PDF/文本)
- LLM自动格式转换
- 极短开发周期(数小时即可构建)
下一步建议:
- 添加数据分析(平均值/相关性分析)
- 仪表盘UI定制
通过Dify的可视化功能,尝试优化您的业务数据分析流程!参考本文内容,构建数据驱动型决策流程吧!