没有合适的资源?快使用搜索试试~ 我知道了~
首页Python使用graphviz画流程图过程解析
问题描述 项目中需要用到流程图,如果用js的echarts处理,不同层级建动态计算位置比较复杂,考虑用python来实现 测试demo 实现效果如下 完整代码 import yaml import os import ibm_db from graphviz import Digraph from datetime import datetime # db连接 def db2_query(sql): conn = ibm_db.connect( "DATABASE=%s;HOSTNAME=%s;PORT=%s;PROTOCOL=TCPIP;UID=%s;PWD=%s" % (
资源详情
资源评论
资源推荐

Python使用使用graphviz画流程图过程解析画流程图过程解析
问题描述问题描述
项目中需要用到流程图,如果用js的echarts处理,不同层级建动态计算位置比较复杂,考虑用python来实现
测试测试demo
实现效果如下
完整代码
import yaml
import os
import ibm_db
from graphviz import Digraph
from datetime import datetime
# db连接
def db2_query(sql):
conn = ibm_db.connect(
"DATABASE=%s;HOSTNAME=%s;PORT=%s;PROTOCOL=TCPIP;UID=%s;PWD=%s" % (
config['db2_databse'],
config['db2_host'],
config['db2_port'],
config['db2_user'],
config['db2_password'] ), "", ""
)
if conn:
# 执行
stmt = ibm_db.exec_immediate(conn, sql)
result = ibm_db.fetch_both(stmt)
return result, stmt, conn
# 添加所有的点
def add_nodes():
sql = "SELECT * FROM AML.DEP_OFTEN_TRAD WHERE ACCOUNT_NO=" + ACCOUNT_NO + " ORDER BY NUM DESC fetch first 10 rows ONLY;"
result, stmt, conn = db2_query(sql)
nodes = [] nodes_dict = {}
nodes_dict[ACCOUNT_NO] = 'A'
count = 0
while (result):
count = count + 1
print(chr(ord('A') + count) + "," + result[3])
dot.node(chr(ord('A') + count), result[3], shape="rectangle", color="orange")
nodes.append(result[2])
nodes_dict[result[2]] = chr(ord('A') + count)
print('-----------------')
result = ibm_db.fetch_both(stmt)
# 关闭数据库连接
ibm_db.close(conn)
nodes.append(ACCOUNT_NO)


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0