去除带下划线的word文档答案
Python爬虫项目 去除word文档答案
本程序可以去除下划线部分的docx,和doc格式文件的习题答案。
主要使用的库
- docx (用于操作word文档)
- win32com (用于将doc格式的文件转换成docx)
from docx import Document
import os
import time
import win32com.client as wc
实现
- doc转docx 使用的为wps程序,也可以使用office 只用将
word = wc.gencache.EnsureDispatch('kwps.application') # 打开wps程序
修改为
word = wc.gencache.EnsureDispatch('word.application') # 打开office word程序
- 程序原理为找到带有下划线的部分然后删除并保留出空白,因此需要避免存在除了答案,其他部分存在下划线。效果如下:
修改前
修改后
全部代码如下
# 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文档答案相关推荐
- 使用docx4j生成指定页码的带水印的空白word文档
使用docx4j生成指定页码的带水印的空白word文档 依赖========================================== org.docx4j docx4j 6.0.1 org ...
- 验证win10下解决某些word文档提示”内存或磁盘空间不足”的几种方法
验证win10下解决某些word文档提示"内存或磁盘空间不足"的几种方法 编者:李国帅 qq:9611153 微信lgs9611153 时间:2020-03-11 背景原因: 前段 ...
- springboot下生成复杂word文档方案 在Word软件里面制作模板
系列文章目录 第二章:根据模板导出word,复合格式表格生成.可变列表格生成 第三章:doc和docx插入多图 第四章:web环境下word文档预览 springboot freemarker 生成复 ...
- C#整合layui实现导出带多张图片的word文档
最近研究了一下如何实现利用C# webapi方式导出word文档,且文档中包含多张图片,现在给出实现过程. 准备阶段: 开发工具vs2017,在项目引用那里右键点击管理NuGet程序包,查询找到wor ...
- python读取doc文件_Linux 下Python 读取Word文档内容的方法
如果你是在Windows下, 直接使用win32com就可以进行读取word.doc文档和写入文档了. 但是在Linux下还真是麻烦, 一种方法是用OpenOffice的一个库来进行操作,那么意味这你 ...
- 同一文件夹下多个word文档合并
引用链接 import os # 输入输出函数,用来获取目录路径 import win32com.client as win32word = win32.gencache.EnsureDispatch ...
- Python 将一个目录下的所有word文档转为txt
需要下载安装win32com,并且注意要和你的python版本和32bit or 64bit一致 #!D:\My Python\Trans_to_txt.py #注意Windows下路径表示 from ...
- 【PHPWord】创建带样式表格的Word文档
require_once 'PHPWord.php';$PHPWord = new PHPWord();$section = $PHPWord->createSection();//定义样式数组 ...
- php表格列表美化,【PHPWord】创建带样式表格的Word文档
require_once 'PHPWord.php'; $PHPWord = new PHPWord(); $section = $PHPWord->createSection(); //定义样 ...
最新文章
- 海思3559A上编译libyuv源码操作步骤
- 一次生产 CPU 100% 排查优化实践
- 贝塞尔曲线 花束直播点赞效果
- SpringBoot 读取资源文件
- Chrome 调试技巧 1
- office数据集dslr_如何将照片从DSLR无线传输到智能手机
- memcached的java客户端_Memcached Java客户端
- java applog_java - 通过Logback登录到App Engine request_log - SO中文参考 - www.soinside.com
- Linux操作系统原理与应用05:中断和异常
- 微信扫一扫直接打开手机外部浏览器
- 阿里巴巴大规模稀疏模型训练/预测引擎 DeepRec 正式开源
- “互联网+创新2.0”、“工业制造4.0战略”、“工业互联网
- vs2010和matlab混合编程,VS2010与Matlab2010b混合编程
- 网页源代码保护(禁止右键、复制、另存为、查看源文件)
- 文本居中(内容居中)
- 有用但用处不多的html的属性
- linux有什么好的软件,Linux国产软件大盘点
- 利用沪江小D做个词典小工具
- GBase 8s 导入导出工具 unload/load
- uni-app的常见生命周期