Python系列之Python-docx生成运行日报Word模板

这篇具有很好参考价值的文章主要介绍了Python系列之Python-docx生成运行日报Word模板。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

因项目需求需要自动生成运行日报,想到使用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,Cm

doc = 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 Elasticsearch

es = 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.1

Generating file ...
File saved in /home/trace/test.png

Python系列之Python-docx生成运行日报Word模板

参考资料

  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模板文章来源地址https://www.toymoban.com/news/detail-414965.html

到了这里,关于Python系列之Python-docx生成运行日报Word模板的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python之python-docx:操作 office word 文档

    在Python中,有一个名为 python-docx 的库,它提供了丰富的功能,可以方便地创建、修改和读取Word文档。 本文将详细介绍 python-docx 库的使用,并提供一些示例来演示其中的功能。为了更好地理解,我们将分为以下几个方面进行讨论: 安装 python-docx 创建和保存Word文档 修改现有

    2024年02月12日
    浏览(35)
  • python-docx把dataframe表格添加到word文件中

    python-docx把dataframe表格添加到word文件中思路较为简单: 先把 dataframe 格式转变为 table 新建一个段落: document.add_paragraph() 把 table 添加到这个段落下方 上述代码会得到如下效果图:

    2024年02月11日
    浏览(34)
  • [Python进阶] Python操作word:win32com、python-docx

    7.5.1 通过win32com操作 7.5.1.1 新建word并写入内容 7.5.1.2 读取word 离离原上草,岁晚霜霰滋。 与子为兄弟,生世逢乱离。 漂荡各分散,生死安得知。 乐土叹无食,南州叹无衣。 良时幸休明,天路开清夷。 翩翩两鸿鹄,振翼思奋飞。 一留故山树,一望云中涯。 东西各异势,顾影

    2024年02月02日
    浏览(37)
  • 「第四章」python-docx 为word添加表格、设置表格边框

    第三章中,我们讲解了如何在利用 add_heading 在 docx 文档中花式添加标题,这一节,我们来一起玩一下 docx 中的 table ,也就是表格,表格部分的内容还蛮多的,我们这一章不一定讲得完,能嘚吧多少算多少,今天刚好有时间,多更新一些哇。🎃 🧡 导入 docx 库 🧡 创建 docum

    2024年02月02日
    浏览(54)
  • 「第三章」python-docx 添加标题,word标题从入门到精通

    💡 1. add_heading() 简介 💡 2. add_heading() 基本用法 💡 3. 设置不同级别的标题 💡 4. 设置带有特殊字符的标题 💡 5. 使用循环添加多个标题 💡 6. 使用不同样式添加标题 💡 7. 结合其他元素使用标题 💡 8. 为标题设置复杂多变的样式 最近一段时间,一直在更新python关于PDF文档、

    2024年02月02日
    浏览(41)
  • python-docx:将excel爬取题库转化为word格式便于浏览

    POE的GPT4.0错误太多难以吐槽。 似乎段落和运行的删除一直是失败的,所以在第一次添加的时候设置好所有格式 大纲等级设置失败了

    2024年02月12日
    浏览(85)
  • 【办公类-22-04】周计划系列(4)-生成“周计划”(提取旧docx指定段落的内容,写入EXCLE模板,再次生成新docx)

    文件夹展示 (需要里面的一些反思,用来占位) 这里有一份根据新模板用Python批量做过的“完整”的教案集合    一些内容可以被继续套用(手写修改的,提取出来做公共素材)   过去做的都是大班一套上下学期,这次我是中班,就要重新找中班以前的教案集合进行修改

    2024年02月02日
    浏览(29)
  • 【办公类-22-02】周计划系列(2)-生成“主题知识”(提取旧docx指定段落的内容,写入EXCLE模板,再次生成新docx)

    【办公类-22-01】周计划系列(1)-生成“信息窗”(提取旧docx内容,写入EXCLE模板,再次生成新docx) 前一篇介绍了生成”信息窗“的过程,本篇介绍周计划的第2款内容—— 主题说明的生成   我发现:每当换一个教室,如果想要继续使用门前原有的信息窗结构,就要适应不

    2023年04月08日
    浏览(33)
  • Windows安装Python-docx三方库(保姆级教程)

      博主安装Python-docx三方库是一次性成功的,没有报任何错,下面我讲一下安装Python-docx三方库需要的前提环境。 1.安装Python Windows安装Python(保姆级教程) Windows安装PyCharm(保姆级教程) 2.安装python-setuptools库,这个库大多数是跟随python一起自动安装的 3.安装python-lxml库,这个需

    2024年02月06日
    浏览(43)
  • 【python-docx】文本操作(段落、run、标题、首行缩进、段前段后、多倍行距、对齐方式)

    1.概念 块级元素(block-level) 是指作为一个整体的元素,典型的是段落(paragraph)。 行内元素(inline) ,你可以把它理解为一部分块级元素,即一个块级元素包含一个或多个行内元素,典型的是run对象(我也不知道run应该翻译成什么)。 举个例子,你在Word回车换行开始输入

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包