python 两个中文word文件正文内容和表格内容对比查重复率并将重复部分保存到文档的代码
以下是一个实现上述功能的Python代码示例:
import docx2txt
from difflib import SequenceMatcher
from docx import Document
def compare_word_documents(file1, file2):
# 读取两个Word文件的正文内容和表格内容
text1 = docx2txt.process(file1)
text2 = docx2txt.process(file2)
# 计算两个文本的相似度
similarity_ratio = SequenceMatcher(None, text1, text2).ratio()
# 将重复部分保存到新的Word文档
if similarity_ratio > 0:
doc = Document()
doc.add_paragraph(f"两个文档的重复率为:{similarity_ratio:.2%}")
doc.add_paragraph("重复部分如下:")
doc.add_paragraph(text1)
# 保存到新的文件
doc.save("重复部分.docx")
print("重复部分已保存到文件:重复部分.docx")
else:
print("两个文档无重复部分")
# 示例用法
compare_word_documents("文件1.docx", "文件2.docx")
请注意,上述代码使用了第三方库docx2txt和difflib,需要先安装这两个库。可以使用以下命令进行安装:
pip install python-docx2txt
pip install difflib
在代码中,compare_word_documents函数接受两个Word文件的路径作为参数。它首先使用docx2txt.process函数读取两个文件的正文内容和表格内容,并使用SequenceMatcher类计算两个文本的相似度。如果相似度大于0,则创建一个新的Word文档,将重复部分的内容添加到文档中,并保存为"重复部分.docx"文件。如果相似度为0,则表示两个文档没有重复部分。
请根据实际需求修改文件路径和文件名。
原文地址: https://www.cveoy.top/t/topic/hU0W 著作权归作者所有。请勿转载和采集!