Python操作Word

Python操作Word

    • 一、Word简介
    • 二、向Word写入内容
      • 2.1 导入模块
      • 2.2 创建doc文档对象
      • 2.3 添加段落
      • 2.4 添加列表
      • 2.5 添加图片
      • 2.6 保存文件
    • 三、读取Word内容
    • 四、批量生成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")

# 2.获取doc中所有的段落,结果为列表,其中的元素为段落对象
print(doc

你可能感兴趣的:(python基础学习记录,python,开发语言,word)