当前位置: 首页 > news >正文

实例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 += 1print('第%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

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

http://www.lryc.cn/news/363889.html

相关文章:

  • 2.1 QT随手简记(三)
  • TechM-技术网站
  • SpringBoot: 使用GraalVM编译native应用
  • 9. MySQL事务、字符集
  • 为什么要学习数据结构和算法
  • CANoe仿真工程Switch控件关联dbc信号出现的问题及解决思路
  • 用开源模型MusicGen制作六一儿童节专属音乐
  • Ps:批处理
  • 前端框架中的虚拟DOM和实际DOM之间的关系
  • MySQL进阶——SQL性能分析
  • 在RT-Thread下为MPU手搓以太网MAC驱动-4
  • 可的哥(Codigger)推出Monaco编辑器插件,提升编程体验
  • 为什么选择mobx
  • 如何解决段转储问题
  • 【杂谈】AIGC之ChatGPT-与智能对话机器人的奇妙对话之旅
  • CentOS7配置国内清华源并安装docker-ce以及配置docker加速
  • JL-03-Y1 清易易站
  • PipeSer管线管网云服务
  • kubesphere报错
  • 【QT5】<总览二> QT信号槽、对象树及样式表
  • 2024.05.24 校招 实习 内推 面经
  • 如何理解 Java 8 引入的 Lambda 表达式及其使用场景
  • GPT-4与GPT-4O的区别详解:面向小白用户
  • 使用throttle防止按钮多次点击
  • Echarts 在折线图的指定位置绘制一个图标展示
  • 适用于 Windows 的 8 大数据恢复软件
  • HTTP基础
  • 深入了解Linux命令:visudo
  • 十大排序 —— 希尔排序
  • SpringCloud Hystrix服务熔断实例总结