​后台回复‘0816’,加入Python交流群~

让你的努力,在这里发光

Python-Docx库 | Word与Python的完美结合(附使用文档)_公众号

第 591 篇推文 | 原创:兆锋

Python-Docx库 | Word与Python的完美结合(附使用文档)_指定位置_02

前文回顾:编程能力起飞!100+编程开发工具(Python、Java、MySQL、node、Redis、Linux...)

大家好,我是兆锋。

前两天给大家分享了原创文章:PyXLL库 | Excel与Python的完美结合(附使用文档)

今天给大家分享Python处理Word的第三方库:Python-Docx。

什么是Python-Docx?

Python-Docx是用于创建和更新Microsoft Word(.docx)文件的Python库。

日常需要经常处理Word文档,用Python的免费第三方包:Python-Docx处理docx十分方便。

而且这个包和pandas包结合使用,可以在word插入excel表格,节省了很多复制、粘贴、调整表格样式的时间,真的很方便!

但是要注意:Python-Docx只能处理docx、docx、docx文件!

下面给大家介绍一下如何使用Python-Docx吧,抛砖引玉~

安装

由于 python-docx 已经提交给 PyPI 仓库,所以可以使用 pip 安装,如下:

pip install python-docx
  • 如果同时安装了 python2 和 python3 那么 pip 可能不能用,可以使用 pip3 来安装,如下:
pip3 install python-docx

使用演示

Python-Docx库 | Word与Python的完美结合(附使用文档)_python_03

这里直接用代码给大家演示,如何生成????上图所示的文档,内容包含:

  1. 导入python-docx库
  2. 新建wrod文档、一级、二级、三级标题、自然段
  3. 设置字体格式
  4. 在指定位置添加图片
  5. 在指定位置添加表格
  6. 文档另存为

以下代码可以左右滑动,也可以直接复制粘贴哟~!

1# 1、导入python-docx库
2from docx import Document
3from docx.shared import Inches
4
5document = Document()
6
7document.add_heading('Document Title', 0)
8# 2、新建wrod文档、一级、二级、三级标题、自然段
9p = document.add_paragraph('A plain paragraph having some ')
10# 3、设置字体格式
11p.add_run('bold').bold = True
12p.add_run(' and some ')
13p.add_run('italic.').italic = True
14
15document.add_heading('Heading, level 1', level=1)
16document.add_paragraph('Intense quote', style='Intense Quote')
17
18document.add_paragraph(
19 'first item in unordered list', style='List Bullet'
20)
21document.add_paragraph(
22 'first item in ordered list', style='List Number'
23)
24# 4、在指定位置添加图片
25document.add_picture('monty-truth.png', width=Inches(1.25))
26
27records = (
28 (3, '101', 'Spam'),
29 (7, '422', 'Eggs'),
30 (4, '631', 'Spam, spam, eggs, and spam')
31)
32# 5、在指定位置添加表格
33table = document.add_table(rows=1, cols=3)
34hdr_cells = table.rows[0].cells
35hdr_cells[0].text = 'Qty'
36hdr_cells[1].text = 'Id'
37hdr_cells[2].text = 'Desc'
38for qty, id, desc in records:
39 row_cells = table.add_row().cells
40 row_cells[0].text = str(qty)
41 row_cells[1].text = id
42 row_cells[2].text = desc
43
44document.add_page_break()
45# 6、文档另存为
46document.save('demo.docx')

文档下载

Python-Docx的官网提供了使用文档:该文档说明了如何使用Python-Docx的所有功能,并包含完整的API参考。在下载中包含的示例中也很好地展示了Python-Docx的功能。

需要《Python-Docx库使用文档》的同学,可以关注下列公众号 ???? (非本公众号),后台回复「文档自动化」可以获得全部资源哦~

Python-Docx库 | Word与Python的完美结合(附使用文档)_python_04

进入上方公众号后发送:文档自动化

其他资源

可以在Python-Docx的GitHub页面上找到更多示例代码。

https://github.com/python-openxml/python-docx