WORD对比工具

拖拽 2 个WORD文档到这里 或者

在日常工作中,我们常常需要对比两个 Word 文件的内容差异。用 Python 来实现自动化对比,能大幅提高效率。下面就分享实现 Word 文件内容对比的方法,并附上简单的 Python 代码示例。

Python 有不少库能处理 Word 文件,这里选用python-docx库来读取 Word 文件内容,再使用difflib库进行文本对比。

首先,要安装python-docx库和difflib库(difflib是 Python 标准库,无需额外安装),可以使用pip install python-docx进行安装。

安装完成后,下面是实现代码:

python

from docx import Document
import difflib


def read_docx(file_path):
    doc = Document(file_path)
    full_text = []
    for para in doc.paragraphs:
        full_text.append(para.text)
    return "\n".join(full_text)


file1_path = "file1.docx"
file2_path = "file2.docx"

text1 = read_docx(file1_path)
text2 = read_docx(file2_path)

d = difflib.Differ()
diff = list(d.compare(text1.splitlines(), text2.splitlines()))

for line in diff:
    if line.startswith('+ '):
        print(f'新增内容: {line[2:]}')
    elif line.startswith('- '):
        print(f'删除内容: {line[2:]}')
    elif line.startswith('? '):
        print(f'变动细节: {line[2:]}')
    else:
        print(f'相同内容: {line}')

上述代码中,read_docx函数负责读取 Word 文件,将每个段落的文本提取出来并拼接成一个长字符串。之后通过difflib.Differ对两个文件的内容按行进行对比,最后根据不同的对比结果标识,输出新增、删除、变动细节以及相同的内容。

使用 Python 实现 Word 文件内容对比,不仅能快速、准确地找出差异,还可以根据需求进一步扩展代码,比如将对比结果保存到新文件中,或是以更美观的格式展示。如果你在处理 Word 文件对比时遇到其他问题,不妨尝试从这些基础代码出发,进行功能拓展。