Python操作Word
一、Word简介
在日常工作中,有很多简单重复的劳动其实完全可以交给Python程序,比如根据样板文件(模板文件)批量的生成很多个Word文件或PowerPoint文件。Word是微软公司开发的文字处理程序,相信大家都不陌生,日常办公中很多正式的文档都是用Word进行撰写和编辑的,目前使用的Word文件后缀名一般为.docx
。PowerPoint是微软公司开发的演示文稿程序,是微软的Office系列软件中的一员,被商业人士、教师、学生等群体广泛使用,通常也将其称之为“幻灯片”。在Python中,可以使用名为python-docx
的三方库来操作Word
我们可以先通过下面的命令来安装python-docx
三方库。
pip install python-docx
注意事项:
- 我们在安装此模块使用的是
pip install python-docx
,但是在导入的时候是docx
# 一般情况下 pip install python-docx 我们在安装此模块使用的是pip install python-docx,但是在导入的时候是 docx # 说明:只需要执行pip install python-docx,会自动安装lxml # 可能出现问题: 高版本lxml没有etree模块。有网友确定lxml4.2.5版本带有etree模块,且该版本lxml支持python3.7.4版本。安装命令: pip install lxml==4.2.5 (若python-docx 使用有问题,需要查看lxml版本)
二、向Word写入内容
2.1 导入模块
注:操作word,需要安装python-docx
库,但是在代码中使用的时候导入docx
from docx import Document
2.2 创建doc文档对象
doc = Document()
2.3 添加段落
doc.add_heading('在Python中操作Word文档',2)
注意:在Word中,一个段落可能有很多个组件组成
- 给段落添加组件
run1 = p.add_run('Python是可以跨平台的,')
run2 = p.add_run('Python可以做数据分析,')
run3 = p.add_run('Python还可以做web开发等。')
run1.bold = True # 设置加粗
run2.underline = True # 设置下划线
2.4 添加列表
- 有序序列
doc.add_paragraph('运营部',style='List Number')
doc.add_paragraph('行政部',style='List Number')
doc.add_paragraph('市场部',style='List Number')
doc.add_paragraph('财务部',style='List Number')
doc.add_paragraph('人事部',style='List Number')
- 无序序列
doc.add_paragraph('运营部',style='List Bullet')
doc.add_paragraph('行政部',style='List Bullet')
doc.add_paragraph('市场部',style='List Bullet')
doc.add_paragraph('财务部',style='List Bullet')
doc.add_paragraph('人事部',style='List Bullet')
2.5 添加图片
# 用于图片控制大小
from docx.shared import Cm
doc.add_picture(r'data/py.jpg',width=Cm(3))
2.6 保存文件
doc.save(r'data/python操作word.docx')
三、读取Word内容
一个文本(document)可能有很多的段落(paragraphs)组成,一个段落可能有很多的组件(runs )组成
from docx import Document
# 1.创建doc对象
doc = Document(r"data/占勇辉的离职证明.docx"