因项目需求需要自动生成运行日报,想到使用Python脚本自动生成Word运行模板,接口数据访问elasticsearch获取,获取到的数据再使用pyechart生成图表展示在Word模板中。本文主要介绍python几种工具的安装部署,包括python-docx、elasticsearch和pyechart环境。


1、安装python-docx

1)官方文档

https://python-docx.readthedocs.io/en/latest/

2)下载介质并安装

#tar -xzvf python-docx-0.8.11.tar.gz
#cd python-docx-0.8.11
#python setup.py install

3)测试使用

from docx import Document
from docx.shared import Inches,Cmdoc = Document()
doc.add_heading(u'测试test')
doc.add_picture("test.png",width=Inches(10))
doc.save("test.docx")

2、安装Elasticsearch接口

1)安装elasticsearch接口,能够访问elasticsearch数据

#tar -xzvf setuptools_scm-1.15.4.tar.gz
#cd setuptools_scm-1.15.4
#python setup.py install#tar -xzvf pytest-runner-2.8.tar.gz
#cd pytest-runner-2.8
#python setup.py install#tar -xzvf python-utils-2.3.0.tar.gz
#cd python-utils-2.3.0
#python setup.py install#tar -xzvf urllib3-1.21.1.tar.gz
#cd urllib3-1.21.1
#python setup.py install#pip install elasticsearch6-6.8.1-py2.py3-none-any.whl

2)直接import elasticsearch

>>> from elasticsearch6 import Elasticsearches = Elasticsearch(['x.x.x.x'],timeout=36000)body1 = {"size": 10000,"query": {"match_all": {}}}res1 = es.search(index="goods",scroll='5m', body=body1)

3、Pyechart图表工具

1)安装pyechart依赖包

# pip install backports.functools_lru_cache-1.5-py2.py3-none-any.whl
# pip install wcwidth-0.2.5-py2.py3-none-any.whl
# pip install prettytable-1.0.0-py2.py3-none-any.whl
# pip install MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl
# pip install Jinja2-2.10.1-py2.py3-none-any.whl
# pip install lml-0.0.2-py2.py3-none-any.whl
# pip install pyecharts_jupyter_installer-0.0.3-py2.py3-none-any.whl
# tar -xzvf jupyter-echarts-pypkg-0.1.2.tar.gz
# cd jupyter-echarts-pypkg-0.1.2
# python setup.py install
# pip install Pillow-5.0.0-cp27-cp27mu-manylinux1_x86_64.whl
# tar -xzvf future-0.17.0.tar.gz
# cd future-0.17.0/
# python setup.py install
# pip install pyecharts_javascripthon-0.0.6-py2.py3-none-any.whl# pip install pyecharts-0.5.11-py2.py3-none-any.whl

2)安装pyechart

# pip install pyecharts-0.5.11-py2.py3-none-any.whl
Processing ./pyecharts-0.5.11-py2.py3-none-any.whl
Requirement already satisfied: jinja2 in /usr/lib/python2.7/site-packages (from pyecharts==0.5.11) (2.10.1)
Requirement already satisfied: lml==0.0.2 in /usr/lib/python2.7/site-packages (from pyecharts==0.5.11) (0.0.2)
Requirement already satisfied: jupyter-echarts-pypkg==0.1.2 in /usr/lib/python2.7/site-packages (from pyecharts==0.5.11) (0.1.2)
Requirement already satisfied: pillow in /usr/lib64/python2.7/site-packages (from pyecharts==0.5.11) (5.0.0)
Requirement already satisfied: future in /usr/lib/python2.7/site-packages/future-0.17.0-py2.7.egg (from pyecharts==0.5.11) (0.17.0)
Requirement already satisfied: pyecharts-javascripthon==0.0.6 in /usr/lib/python2.7/site-packages (from pyecharts==0.5.11) (0.0.6)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python2.7/site-packages (from jinja2->pyecharts==0.5.11) (1.1.1)
Requirement already satisfied: pyecharts-jupyter-installer==0.0.3 in /usr/lib/python2.7/site-packages (from jupyter-echarts-pypkg==0.1.2->pyecharts==0.5.11) (0.0.3)
Requirement already satisfied: requests; python_version < "3.5" in /usr/lib/python2.7/site-packages (from pyecharts-javascripthon==0.0.6->pyecharts==0.5.11) (2.6.0)
Installing collected packages: pyecharts
Successfully installed pyecharts-0.5.11

3)安装pyecharts_snapshot

# pip install snapshot_phantomjs-0.0.3-py2.py3-none-any.whl
# pip install pyecharts_snapshot-0.1.10-py2.py3-none-any.whl

直接使用:

# snapshot render.html  test.png
No phantomjs found in your path. Please install it!

需安装phantomjs

# 直接安装包phantomjs-2.1.1-linux-x86_64
# ln -s /home/trace/checktable/package/pyechart/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin
# phantomjs
phantomjs>

4)测试使用

旧版本调用如下:

from pyecharts import Bar>>> from pyecharts import Bar
>>>
>>> bar=Bar("我的第一个图表","这里是副标题")
>>> bar.add("服装",["衬衫","羊毛衫","裤子"],[5,20,36])
<pyecharts.charts.bar.Bar object at 0x7fb09114ebd0>
>>>
>>> bar.render()
生成的是html格式文件

新版本调用如下:

from pyecharts.charts import Bar>>> bar = Bar()
>>> bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
<pyecharts.charts.basic_charts.bar.Bar object at 0x000001A4ACB08A58>
>>> bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
<pyecharts.charts.basic_charts.bar.Bar object at 0x000001A4ACB08A58>
>>> bar.render("mycharts.html")
'C:\\Python36\\mycharts.html'
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如
>>> bar.render()
'C:\\Python36\\render.html'
>>>

生成的是html格式文件,如果保存为png格式

>>> bar.render(path="test.png")
phantomjs version: 2.1.1Generating file ...
File saved in /home/trace/test.png

参考资料

  1. https://blog.csdn.net/yuetaope/article/details/119444970
  2. https://www.cnblogs.com/hustcser/p/8831176.html

转载请注明原文地址:https://blog.csdn.net/solihawk/article/details/125232071
文章会同步在公众号“牧羊人的方向”更新,感兴趣的可以关注公众号,谢谢!

Python系列之Python-docx生成运行日报Word模板相关推荐

  1. csdn最新最牛最细python系列【python高阶:自动化相关技能】 python全栈自动化测试系类4-4

    目录 [python之smtplib模块发送邮件] 1.tls模式加密 2.ssl加密,默认加密端口是465 MIMEApplication模块添加附件: [python编程之ini文件处理-conf ...

  2. python 读取excel表格数据,然后写入word模板,批量生成

    Python 读取excel及批量生成word模板 问题-来源 前几天,我姐遇见了一个难题:需要从excel表格中不断复制数据到word模板中,相当繁琐,询问我有没有解决的办法.于是我百度了一下,借鉴 ...

  3. 青少年python系列 33.python安装非内置模块

    青少年python教学视频ppt源码 青少年python系列目录_老程序员115的博客-CSDN博客 简介 python内置模及其内部的功能函数,是无法满足我们编程需求的.这时候如果有能够满足我们需要 ...

  4. python系列之---python的起源

    根据TIOBE发布的2018年5月编程语言排行,可以看到python作为现在十分火热的语言,一直都是保持在前列. 5 月编程语言排行榜 TOP20 榜单: Top 10编程语言TIOBE指数走势(20 ...

  5. python系列教程-python前世今生以及windows下环境的安装

    文章目录 一.python的前世今生 1.1 Python的起源 二.为什么要学习python 2.1.从语言排行榜上看 三.python的安装 3.1 python下载 3.2 自定义安装路径,以及 ...

  6. 青少年python系列 2.Python简介

    青少年python系列目录_老程序员115的博客-CSDN博客 青少年python教学视频ppt源码  Python来源 Python的创始人为Guido van Rossum.1989年圣诞节期间, ...

  7. python系列-认识python

    1.python是怎么出现的 2.python的发展 3.Python的用途 目前python语言可谓炙手可热,开发,测试.运维还有人工智能.数据分析等板块都是他们的影子. python是什么?pyt ...

  8. Python运维(五)--Jinja2、word模板及Excel

    目录 一.Jinja2 1.1 概述 1.2 语法 1.2.1 变量 1.2.2 控制循环结构 1.2.3 宏 1.3 空行 1.3.1 分析 1.3.2 解决方案 1.4 渲染 1.4.1 渲染函数 ...

  9. python文件之间的相互调用_「Python 系列」 Python 生成器函数详解

    Python的生成器函数提供了一种强大的机制来管理数据和计算资源,但是对于Python的新手来说,它们不一定直观.在本文中,我将分解生成器的机制,同时还介绍我希望是一个有启发性的示例:用于管理和流传输 ...

  10. [每日一讲] Python系列:Python概述

    Python 序章 概述 Python 是弱类型动态解释型的面向对象高级语言,其具备面向对象的三大特点:封装.继承.多态.Python 代码运行时,其有一个编译过程,通过编译器生成 .pyc 字节码 ...

最新文章

  1. 内存管理 初始化(七)kmem_cache_init_late 初始化slab分配器(下)
  2. hibernate 多对一(Many-to-one)单向关联
  3. laravel框架cookie应用到中间件的理解
  4. B. super_log(2019ICPC区域网络赛南京站)
  5. CSS基础(part1)--引入CSS的方式
  6. 用c语言复制字符串的元音字母,急求:编写程序,将一个字符串中的元音字母复制到另一个字符串,然后输出。...
  7. 为Tueri.io构建React图像优化组件
  8. 模拟注册用户,按照以下要求实现相关功能:
  9. const修饰是指针和常量
  10. 网易java默认路径_java对象存储位置
  11. 集成springboot案例_SpringBoot开发者都在用的五款优质扩展,每个都很能打!
  12. 基于JAVA+SpringMVC+Mybatis+MYSQL的小说管理系统
  13. Chrome三天内的第二枚0Day
  14. Active Directory备份与还原
  15. 怎么将苹果手机屏幕投屏到电脑上
  16. 电脑录制视频的方法很简单 轻松录制完美视频
  17. 什么是 docker?docker和虚拟机有什么差别和不同?
  18. es6删除数组某一项_JavaScript:集合与数组,重要但你不知道的ES6数据类型
  19. Windows 删库跑路(破坏系统的功能)
  20. 国考计算机三级嵌入式,英语初级视频学习

热门文章

  1. excel筛选排序从小到大_Excel按颜色排序或筛选
  2. 网管世界 网管生活 网管总结
  3. 读java源码的好处
  4. 如何通过IDEA看Java源码
  5. pl2303hxa串口线驱动_Prolific PL2303 USB转串口线驱动
  6. 【转】推荐下载使用:功能强大的光盘刻录软件NERO 9.0中文版(最新官方原版+有效序列号)...
  7. 食品品牌最全VI目录 - 塔望食品品牌全案策划VI设计清单
  8. java numberformat 方法,Java NumberFormat.getCurrencyInstance()方法
  9. 网络的攻防,简单两步像黑客一样实现命令行对话,不需要社交软件也可以聊天,基础知识(一)
  10. 公司拿到了量化交易模型, 交易员和策略师就可滚蛋了?