# 一.读取数据

# 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

请将'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
上次更新: 11/3/2024, 10:37:37 AM