大家好 ,
最近有同事需要批量出
这就是Python的魅力 , 让工作更轻松!
今天,我们就来了解一下用Python读写Word文档 。未来,我将再出两期进行补充介绍 , 一篇是批量生成Word文档的方法(也就是我搞定同事需求的案例),另外一篇是详解Python写Word(包含可能你都不知道的各种Word格式) , 敬请期待哈~
目录:
- 1. 安装模块
- 2. 读取Word文档
- 3. 写入Word文档
1. 安装模块
这里我们用到的是
# 安装该模块,在命令行键入以下命令
pip install python-docx
在进行后续介绍前,我们先简单了解一下

理解以上知识后,我们再来了解读与写吧 。
2. 读取Word文档
我们本地创建一个案例文档 , 用于演示读取Word,案例文档内容如下:

import docx
# 读取Word文档
doc = docx.Document(r'案例.docx')

我们知道了读取Word每个paragraph段落和Run , 那么如何读取完整的Word文本内容呢?这里,自定义一个函数将全部的paragraph段落内容存起来,每个paragraph段落之间用换行符
import docx
def getText(fileName):
doc = docx.Document(fileName)
TextList = []
for paragraph in doc.paragraphs:
TextList.append(paragraph.text)
return 'n'.join(TextList)
我们调用该函数,可以得到:
fileName = r'案例.docx'
print(getText(fileName))
标题1
这是一个段落,有粗体和斜体
大家好,我是才哥 。
标题2
当然了,这里读取后输出显示的文本不带有格式属性哈 。
3. 写入Word文档
在写入Word之前,我们先简单了解下Word的一些格式规则 。
毫不夸张的讲,把全局样式玩的明白的人蛮少的 。这方面主要是正文样式与标题样式,如果玩得明白的话,其实设置好了之后几乎不需要再进行啥调整,全局格式都能自动设置与更新 。就我所见的大多数朋友的文档,这方面基本达不到 。(感觉会被爆锤~~)

在我们Python处理Word的时候,段落样式可以应用于当然,这里我们不展开介绍,就简单介绍Paragraph 对象,字符样式可以应用于 Run 对象,链接的样式可以应用于这两种对象 。可以将 Paragraph 和 Run 对象的 style 属性设置为一个字符串,从而设置样式 。这个字符串应该是一种样式的名称 。如果 style 被设置为 None,就没有样式与 Paragraph 或 Run 对象关联 。
对于
属性描述bold文本以粗体出现italic文本以斜体出现underline文本带下划线strike文本带删除线double_strike文本带双删除线all_caps文本以大写首字母出现small_caps文本以大写首字母出现,小写字母小两个点shadow文本带阴影outline文本以轮廓线出现,而不是实心rtl文本从右至左书写imprint文本以刻入页面的方式出现emboss文本以凸出页面的方式出现我们演示一下:


要创建自己的
import docx
doc = docx.Document()
doc.add_paragraph('这是一个段落')
doc.save('写入word.docx')

import docx
doc = docx.Document()
p1 = doc.add_paragraph('这是一个段落')
p1.add_run('加粗的一句话').bold = True
doc.add_paragraph('这是第二个段落')
doc.save('多段落.docx')

import docx
doc = docx.Document()
doc.add_heading('标题',0)
doc.add_heading('标题1',1)
doc.add_heading('标题2',2)
doc.add_heading('标题3',3)
doc.add_heading('标题4',4)
doc.save('标题.docx')

要添加换行符(而不是开始一个新的段落) , 可以在 Run 对象上调用
import docx
doc = docx.Document()
p1 = doc.add_paragraph('这是一个段落')
p1.add_run('加粗的一句话').bold = True
# 换行
doc.paragraphs[0].runs[0].add_break()
doc.save('换行.docx')

有一个
import docx
doc = docx.Document()
doc.add_paragraph('这是一个段落,后面带图片')
doc.add_picture('图片.png',
width=docx.shared.Inches(3),
height=docx.shared.Cm(4))
doc.add_paragraph('这是第二个段落')
doc.save('图片.docx')

其实Word文档各种样式设置,数据类型展示等等非常丰富,而
【用Python自动化读写Word文档 word文档怎么自动读出来】
