Python 自动化:python-docx 比对 Word 文档与 Excel 表格
应用场景
小明的老师要打印学生成绩单,于是制作了一份 Word 文档,每个学生的成绩单为一个表格,如下图所示:
但是核对 Excel 中的成绩时发现存在一些错误,比如小明的班级、小霞的数学成绩:
每个学生(逐行)每个字段(逐列)比对了一番苦不堪言,那我们可不可以用 Python
来帮帮老师呢?
作为无所不能的 Python 大法,这自然不在话下!
下面便介绍如何用 python-docx 读取 Word 文档中的表格数据并与 Excel 中的数据比对 👇
python-docx 介绍
python-docx
是用于创建和更新 Microsoft Word(.docx)文件的 Python 库。
安装
python-docx 托管在 PyPI 上,可以很方便地用 pip 安装:
pip install python-docx
- 支持 Python 2.6、2.7、3.3、3.4(本文运行环境为 3.6,尚未发现安装和使用的异常)
- 会自动安装依赖库:lxml> = 2.3.2
示例
ps.注意在运行目录下准备一张图片:
image.png
# 导包
from docx import Document
from docx.shared import Inches
# 创建空白文档
document = Document()
# 添加标题
document.add_heading('Document Title', 0)
# 添加段落
p = document.add_paragraph('A plain paragraph having some ')
# 添加不同格式的文字
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True
# 添加一级标题
document.add_heading('Heading, level 1', level=1)
# 添加不同样式的段落
document.add_paragraph('Intense quote', style='Intense Quote')
document.add_paragraph(
'first item in unordered list', style