# 一.读取数据
# 1.安装库
在 Python 中读取 Word 文档,通常可以使用python-docx
库。
首先,确保已经安装了 python-docx 库。如果还没有安装,可以通过 pip 安装:
pip install python-docx
1
# 2.读取文档
使用 python-docx 库中的 Document 类来读取 Word 文档。
# 3.遍历文档
遍历 Word 文档中的每个段落。
# 4.提取文本
从每个段落中提取文本。
# 5.实例
下面是一个简单的示例代码,展示了如何读取 Word 文档并打印每个段落的文本:
from docx import Document
# 打开Word文档
doc = Document('path_to_your_document.docx')
# 遍历文档中的每个段落
for para in doc.paragraphs:
# 打印段落文本
print(para.text)
# 如果需要读取文档中的表格数据
for table in doc.tables:
for row in table.rows:
for cell in row.cells:
print(cell.text)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
请将'path_to_your_document.docx'
替换为 Word 文档的实际路径。
如果需要处理更复杂的文档结构,比如样式、图片、超链接等,python-docx
库也提供了相应的功能来处理这些内容。
# 二.修改 word 内容
# 导入所需的模块
import re # 正则表达式模块
import os # 操作系统接口模块
from docx import Document # 导入docx模块以操作Word文档
# 定义一个函数,用于处理Word文档
def process_docx(file_name, regex_info, insert_info):
# 打开指定的Word文档
doc = Document(file_name)
# 遍历文档中的所有段落
for paragraph in doc.paragraphs:
text = paragraph.text # 获取段落的文本内容
# 检查段落文本是否以所查找的正则表达式开始
if re.match(regex_info, text):
# 在行首插入文本
paragraph.text = insert_info + text
# 由于我们在行首插入文本,所以不需要更新偏移量
# 保存修改后的文档,文件名基于原文件名并添加了"_zz"后缀
basename = os.path.splitext(os.path.basename(file_name))[0]
doc.save(f'{basename}_zz.docx')
# 示例用法
filename = '这是我的word文档.docx' # 指定要处理的Word文档路径
# 修改正则表达式,使其匹配以特定模式开始的行
# 确保正则表达式以'^'开始,这表示匹配行的开始
regex = r'^\d+\.\d+\.\d+'
insert_text = '\n<|xxxxx|>\n' # 定义要插入的文本
# 调用函数处理文档
process_docx(filename, regex, insert_text)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37