当前位置: 首页 > news >正文

北京南站地图国际摄影网

北京南站地图,国际摄影网,网页模板好的网站好,万物识别扫一扫问题描述 项目中需要用到流程图#xff0c;如果用js的echarts处理#xff0c;不同层级建动态计算位置比较复杂#xff0c;考虑用python来实现 测试demo实现效果如下完整代码 import yaml import os import ibm_db from graphviz import Digraph from datetime import dateti…问题描述 项目中需要用到流程图如果用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;PROTOCOLTCPIP;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], shaperectangle, colororange) 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) return dot, nodes, nodes_dict # 添加所有的边 def add_edges(nodes): nodes_back nodes print(nodes_back) for p in range(len(nodes_back)): nodes_temp nodes.copy() from_nodes nodes_temp.pop(p) print(len of nodes_temp: str(len(nodes_temp)) ,from_nodes: from_nodes) nodes_temp_in ,.join(nodes_temp) nodes_temp_in ( nodes_temp_in ) sql SELECT * FROM AML.DEP_OFTEN_TRAD WHERE ACCOUNT_NO from_nodes and CNTPRT_ACCOUNT_NO IN \ nodes_temp_in result, stmt, conn db2_query(sql) if (result): while (result): print(-----------------) print(result) print(result[CNTPRT_ACCOUNT_NO] nodes_dict[result[CNTPRT_ACCOUNT_NO]]) print(add edges, result[TRAD_VAL] from: from_nodes ,to: result[CNTPRT_ACCOUNT_NO]) dot.edge(nodes_dict[from_nodes], nodes_dict[result[CNTPRT_ACCOUNT_NO]], result[TRAD_VAL]) result ibm_db.fetch_both(stmt) # 关闭数据库连接 ibm_db.close(conn) return dot if __name__ __main__: yaml_path os.path.join(../, config.yaml) with open(yaml_path, r) as f: config yaml.load(f) dot Digraph( enginecirco, commentThe Test Table, formatpng ) ACCOUNT_NO 10100002181 # 添加圆点A,A的标签是Dot A dot.node(A, 中心客户, shaperectangle, colorblue) nodes_begin datetime.now() print(str(nodes_begin) nodes_begin) dot, nodes, nodes_dict add_nodes() print(nodes_dict) edges_begin datetime.now() print(str(edges_begin) edges_begin) dot add_edges(nodes) print(dot.source) render_begin datetime.now() print(str(render_begin) render_begin) dot.render(./file/db2-table.gv, viewTrue) 测试流程图 用不同的参数生成的2个图如下linux环境搭建 线上是不连外网的私有服务器开始在离线环境安装需要依赖的包太多后来就在虚拟机里redhat6.6在线装好了。 redhat安装rpm依赖 #清除原有RHEL的YUM及相关软件包。 rpm -qa | grep yum | xargs rpm -e --nodeps rpm -qa |grep python-urlgrabber|xargs rpm -e --nodeps #安装rpm依赖包 rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm rpm -ivh python-urlgrabber-3.9.1-11.el6.noarch.rpm rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm rpm -ivh yum-plugin-fastestmirror-1.1.30-41.el6.noarch.rpm yum-3.2.29-81.el6.centos.noarch.rpm mv CentOS6-Base-163.repo /etc/yum.repos.d/ 替换yum163源 cd /etc/yum.repos.d/ mv rhel-source.repo rhel-source.repo.bak 清理yum缓存 yum clean all yum makecache #测试 yum repolist 安装graphviz yum install graphviz* #测试 which dot #/usr/bin/dot dot -V #dot - graphviz version 2.26.0 (20091210.2329) 查看yum的安装日志发现需要依赖230个包 解决依赖关系 -- 执行事务检查 --- Package graphviz.x86_64 0:2.26.0-10.el6 will be 安装 -- 处理依赖关系 libgd.so.2()(64bit)它被软件包 graphviz-2.26.0-10.el6.x86_64 需要 -- 处理依赖关系 libXpm.so.4()(64bit)它被软件包 graphviz-2.26.0-10.el6.x86_64 需要 -- 处理依赖关系 libXaw.so.7()(64bit)它被软件包 graphviz-2.26.0-10.el6.x86_64 需要 --- Package graphviz-devel.x86_64 0:2.26.0-10.el6 will be 安装 --- Package graphviz-doc.x86_64 0:2.26.0-10.el6 will be 安装 --- Package graphviz-gd.x86_64 0:2.26.0-10.el6 will be 安装 --- Package graphviz-graphs.x86_64 0:2.26.0-10.el6 will be 安装 --- Package graphviz-guile.x86_64 0:2.26.0-10.el6 will be 安装 -- 处理依赖关系 guile它被软件包 graphviz-guile-2.26.0-10.el6.x86_64 需要 --- Package graphviz-java.x86_64 0:2.26.0-10.el6 will be 安装 --- Package graphviz-lua.x86_64 0:2.26.0-10.el6 will be 安装 --- Package graphviz-perl.x86_64 0:2.26.0-10.el6 will be 安装 --- Package graphviz-php.x86_64 0:2.26.0-10.el6 will be 安装 -- 处理依赖关系 php(zend-abi) 20090626它被软件包 graphviz-php-2.26.0-10.el6.x86_64 需要 -- 处理依赖关系 php(api) 20090626它被软件包 graphviz-php-2.26.0-10.el6.x86_64 需要 --- Package graphviz-python.x86_64 0:2.26.0-10.el6 will be 安装 --- Package graphviz-ruby.x86_64 0:2.26.0-10.el6 will be 安装 -- 处理依赖关系 ruby它被软件包 graphviz-ruby-2.26.0-10.el6.x86_64 需要 -- 处理依赖关系 libruby.so.1.8()(64bit)它被软件包 graphviz-ruby-2.26.0-10.el6.x86_64 需要 --- Package graphviz-tcl.x86_64 0:2.26.0-10.el6 will be 安装 -- 处理依赖关系 tcl 8.3它被软件包 graphviz-tcl-2.26.0-10.el6.x86_64 需要 -- 处理依赖关系 tk它被软件包 graphviz-tcl-2.26.0-10.el6.x86_64 需要 -- 处理依赖关系 libtk8.5.so()(64bit)它被软件包 graphviz-tcl-2.26.0-10.el6.x86_64 需要 -- 执行事务检查 --- Package gd.x86_64 0:2.0.35-11.el6 will be 安装 --- Package guile.x86_64 5:1.8.7-5.el6 will be 安装 --- Package libXaw.x86_64 0:1.0.11-2.el6 will be 安装 --- Package libXpm.x86_64 0:3.5.10-2.el6 will be 安装 --- Package php-common.x86_64 0:5.3.3-49.el6 will be 安装 --- Package ruby.x86_64 0:1.8.7.374-5.el6 will be 安装 --- Package ruby-libs.x86_64 0:1.8.7.374-5.el6 will be 安装 -- 处理依赖关系 libreadline.so.5()(64bit)它被软件包 ruby-libs-1.8.7.374-5.el6.x86_64 需要 --- Package tcl.x86_64 1:8.5.7-6.el6 will be 安装 --- Package tk.x86_64 1:8.5.7-5.el6 will be 安装 -- 执行事务检查 --- Package compat-readline5.x86_64 0:5.2-17.1.el6 will be 安装 -- 完成依赖关系计算 依赖关系解决 yum安装openssl-devel #查看openssl安装包 rpm -aq|grep openssl yum install openssl-devel -y 查看yum依赖 正在升级 : libcom_err-1.41.12-24.el6.x86_64 1/26 正在升级 : libselinux-2.0.94-7.el6.x86_64 2/26 正在升级 : krb5-libs-1.10.3-65.el6.x86_64 3/26 **************** Verifying : e2fsprogs-libs-1.41.12-21.el6.x86_64 23/26 Verifying : libselinux-2.0.94-5.8.el6.x86_64 24/26 Verifying : krb5-libs-1.10.3-33.el6.x86_64 25/26 Verifying : libss-1.41.12-21.el6.x86_64 26/26 python安装pip依赖 pip install -r requirement.txt #Installing collected packages: PyYAML, ibm-db, tornado, graphviz # Running setup.py install for PyYAML ... done # Running setup.py install for ibm-db ... done # Running setup.py install for tornado ... done #Successfully installed PyYAML-5.1.1 graphviz-0.11.1 ibm-db-3.0.1 tornado-6.0.3
http://www.pierceye.com/news/868406/

相关文章:

  • 网站设计的毕业设计剧院网站建设
  • 微商城网站建设案例做带支付功能的网站
  • 响应式网站开发公司义务 网站建设
  • 网站前台和后台对接北京app开发公司排名
  • 网站开发工具的在南海建设工程交易中心网站
  • 广西建设厅官方网站文件通知wordpress默认字体颜色
  • 品牌网站建设联系方式网页截图快捷键是哪个键
  • 现在网站一般都是什么语言做的软件著作权证书
  • html5在网站建设中的本地环境wordpress修改php.ini
  • wap电影网站建设宁波谷歌seo推广
  • 中国建设银官方网站WordPress国内开发主题
  • 芜湖seo网站优化域名邮箱免费注册
  • 做宠物网站需要实现什么功能成都建工网站
  • jsp购物网站开发 论文海口澄迈县建设局网站
  • 单页销售网站制作制作花都区网站建设
  • 如何建立自己的购物网站discuz手机模板
  • 网站被刷流量怎么办wordpress fold主题
  • 做的新网站网上搜不到临沂免费做网站
  • 高端大气的网站制作建筑人才网下载
  • 如何快速提升网站关键词排名综合服务平台一站式服务平台网站开发
  • 阿土伯 是做网站的吗建设厅国网查询网站
  • 天长哪个广告公司做网站中国菲律宾汇率换算
  • 动漫在线制作网站wordpress get_template_part
  • 肇庆高端品牌网站建设住建部网站资质查询中宏建设集团
  • 扁平化网站模板下载莱西网站建设哪家好
  • 用vis做的简单网站网站建设需求方案pdf
  • 怎么免费做网站视频教学沈阳网站备案
  • 徐州有哪些网站制作公司太原住房和城乡建设部网站
  • 专门做摩托车的网站注册域名阿里云
  • 做个简单的网站建站公司费用