实例Python对比两个word文档并找出不同

首先确保已经有了安装包docx  与 difflib,如果没有先用pip命令安装如下

pip install python-docx

 案例代码

import docx
import difflib
import os
'''在文件目录中存在两个待对比的word文档,必须是docx格式'''
# 获取文档对象
# path = input('请输入文件目录:')
path = "对比word文档"  #这是一个目录名字,与当前文件同级,有绝对路径也行
path_file = os.listdir(path)
print('----文档对比开始----','\n')
print('识别文档:%s和文档%s' % (path_file[0], path_file[1]),'\n')
file = docx.Document(path + "/" + path_file[0])
file2 = docx.Document(path + "/" + path_file[1])
print('----文档段落分析----','\n')
print("%s共有%s个段落:" % (path_file[0], str(len(file.paragraphs))))
print("%s共有%s个段落:" % (path_file[1], str(len(file2.paragraphs))),'\n')
print('----文档区别分析----','\n')
op = []
op2 = []
# 输出每一段的内容
for para in file.paragraphs:
    op.append(para.text)

for para1 in file2.paragraphs:
    op2.append(para1.text)

diff = difflib.Differ()
numbe = 0
for d in range(len(op)):
    if op[d] != op2[d]:
        numbe += 1
        print('第%s不同' % (numbe))
        print('\n', path_file[0] + '的内容为:')
        print('  文档1:' + op[d])
        print(path_file[1] + '的内容为:')
        print('  文档2:' + op2[d], '\n')
        print('----------------------------------------------------')
print('共有%s处不同' % (numbe))
print('文档对比完毕!!!!!!!!')

结果如下:

----文档对比开始---- 

识别文档:word文档A.docx和文档word文档B.docx 

----文档段落分析---- 

word文档A.docx共有9个段落:
word文档B.docx共有11个段落: 

----文档区别分析---- 

第1不同

 word文档A.docx的内容为:
  文档1:
word文档B.docx的内容为:
  文档2:我们是中国人 

----------------------------------------------------
共有1处不同
文档对比完毕!!!!!!!!

进程已结束,退出代码为 0

该方法是按照段落进行对比的,对于表格不予处理。仅供大家学习使用

相关推荐

  1. 实例Python对比word文档不同

    2024-06-06 16:36:01       9 阅读
  2. Python实用代码之:如何数的最大公因数?

    2024-06-06 16:36:01       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 16:36:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 16:36:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 16:36:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 16:36:01       18 阅读

热门阅读

  1. eazyexcel生成校验单元格内容的excel文件

    2024-06-06 16:36:01       9 阅读
  2. adam优化器计算过程(tensorflow)

    2024-06-06 16:36:01       9 阅读
  3. 网络数据库后端框架相关面试题

    2024-06-06 16:36:01       9 阅读
  4. MySQL数据库主从配置

    2024-06-06 16:36:01       7 阅读
  5. MySQL迁移达梦数据库避坑

    2024-06-06 16:36:01       8 阅读
  6. 二叉树的中序遍历-力扣

    2024-06-06 16:36:01       11 阅读
  7. 二叉树的前序遍历-力扣

    2024-06-06 16:36:01       9 阅读