Python爬虫项目 去除word文档答案

本程序可以去除下划线部分的docx,和doc格式文件的习题答案。

主要使用的库

  1. docx (用于操作word文档)
  2. win32com (用于将doc格式的文件转换成docx)
from docx import Document
import os
import time
import win32com.client as wc

实现

  1. doc转docx 使用的为wps程序,也可以使用office 只用将
 word = wc.gencache.EnsureDispatch('kwps.application')  # 打开wps程序

修改为

 word = wc.gencache.EnsureDispatch('word.application')  # 打开office word程序
  1. 程序原理为找到带有下划线的部分然后删除并保留出空白,因此需要避免存在除了答案,其他部分存在下划线。效果如下:

修改前

修改后

全部代码如下

# coding=utf-8
from docx import Document
import os
import time
import win32com.client as wcdef doc_to_docx(docpath):"""doc转换为docx格式:param docpath: 文件绝对路径:return: 文件转换后的路径"""path= os.path.split(docpath)[0]name=os.path.split(docpath)[1]docname= os.path.splitext(name)[0]suffix=os.path.splitext(name)[1]if suffix == '.doc':word = wc.gencache.EnsureDispatch('kwps.application')  # 打开wps程序doc=word.Documents.Open(docpath)new_docpath =os.path.join(path,name) + 'x'print(new_docpath)doc.SaveAs2(new_docpath, 12)doc.Close()word.Quit()return new_docpathelif suffix == '.docx':return docpathelse:raise Exception#word文档的路径
word_path = r"C:\Users\ASUS\Desktop\q.doc"word_parent_path=os.path.split(word_path)[0]
#获取文档对象
#如果文档为doc则自动转换为docx
document = Document(doc_to_docx(word_path))
#获取文档段落的list
paragraphs = document.paragraphs
print(len(paragraphs))
#段落中包含的runs
for p in paragraphs:for run in p.runs:if run.font.underline is True:run.text = '          '
new_file_name=str(int(time.time()))+'.docx' #使用时间戳作为修改完的文件名
new_file_path=os.path.join(word_parent_path,new_file_name)
document.save(new_file_path)

去除带下划线的word文档答案相关推荐

  1. 使用docx4j生成指定页码的带水印的空白word文档

    使用docx4j生成指定页码的带水印的空白word文档 依赖========================================== org.docx4j docx4j 6.0.1 org ...

  2. 验证win10下解决某些word文档提示”内存或磁盘空间不足”的几种方法

    验证win10下解决某些word文档提示"内存或磁盘空间不足"的几种方法 编者:李国帅 qq:9611153 微信lgs9611153 时间:2020-03-11 背景原因: 前段 ...

  3. springboot下生成复杂word文档方案 在Word软件里面制作模板

    系列文章目录 第二章:根据模板导出word,复合格式表格生成.可变列表格生成 第三章:doc和docx插入多图 第四章:web环境下word文档预览 springboot freemarker 生成复 ...

  4. C#整合layui实现导出带多张图片的word文档

    最近研究了一下如何实现利用C# webapi方式导出word文档,且文档中包含多张图片,现在给出实现过程. 准备阶段: 开发工具vs2017,在项目引用那里右键点击管理NuGet程序包,查询找到wor ...

  5. python读取doc文件_Linux 下Python 读取Word文档内容的方法

    如果你是在Windows下, 直接使用win32com就可以进行读取word.doc文档和写入文档了. 但是在Linux下还真是麻烦, 一种方法是用OpenOffice的一个库来进行操作,那么意味这你 ...

  6. 同一文件夹下多个word文档合并

    引用链接 import os # 输入输出函数,用来获取目录路径 import win32com.client as win32word = win32.gencache.EnsureDispatch ...

  7. Python 将一个目录下的所有word文档转为txt

    需要下载安装win32com,并且注意要和你的python版本和32bit or 64bit一致 #!D:\My Python\Trans_to_txt.py #注意Windows下路径表示 from ...

  8. 【PHPWord】创建带样式表格的Word文档

    require_once 'PHPWord.php';$PHPWord = new PHPWord();$section = $PHPWord->createSection();//定义样式数组 ...

  9. php表格列表美化,【PHPWord】创建带样式表格的Word文档

    require_once 'PHPWord.php'; $PHPWord = new PHPWord(); $section = $PHPWord->createSection(); //定义样 ...

最新文章

  1. 海思3559A上编译libyuv源码操作步骤
  2. 一次生产 CPU 100% 排查优化实践
  3. 贝塞尔曲线 花束直播点赞效果
  4. SpringBoot 读取资源文件
  5. Chrome 调试技巧 1
  6. office数据集dslr_如何将照片从DSLR无线传输到智能手机
  7. memcached的java客户端_Memcached Java客户端
  8. java applog_java - 通过Logback登录到App Engine request_log - SO中文参考 - www.soinside.com
  9. Linux操作系统原理与应用05:中断和异常
  10. 微信扫一扫直接打开手机外部浏览器
  11. 阿里巴巴大规模稀疏模型训练/预测引擎 DeepRec 正式开源
  12. “互联网+创新2.0”、“工业制造4.0战略”、“工业互联网
  13. vs2010和matlab混合编程,VS2010与Matlab2010b混合编程
  14. 网页源代码保护(禁止右键、复制、另存为、查看源文件)
  15. 文本居中(内容居中)
  16. 有用但用处不多的html的属性
  17. linux有什么好的软件,Linux国产软件大盘点
  18. 利用沪江小D做个词典小工具
  19. GBase 8s 导入导出工具 unload/load
  20. uni-app的常见生命周期

热门文章

  1. 3、太阳能电池板参数解析
  2. What?Tomcat-竟然也算中间件?
  3. @Kubernetes(k8s)
  4. Instagram API平台文档
  5. Redis 基础 - 优惠券秒杀《初步优化(异步秒杀)》
  6. 显示商品分类列表页面
  7. Java图结构-模拟校园地图-迪杰斯特拉(Dijkstra)算法求最短路径 #谭子
  8. You Are the One HDU - 4283 区间DP
  9. [kubernetes]-通过initcontainer监控job是否完成
  10. 解决win10右击鼠标卡顿问题