某阅读多word整理自动化脚本
版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/101055192
- 写在前面
最近想练习英语,发现电脑磁盘中有很多流利阅读的资料,文件夹格式为:流利阅读201X年>X月>0101 2019 年度色发布:活力珊瑚橘>mp3、word。由于个人想整合下文章(仅新闻正文),方便打印。手动整理了几篇,发现挺耗时的。因此便想写个脚本,自动化操作。
- 环境配置安装
运行环境:Python3.6、Spyder
依赖模块:win32com、python-docx等
- 开始工作
1.新闻正文获取
一篇流利阅读文章结构有五个部分:今日导读、带着问题听讲解、新闻正文、重点词汇、拓展内容。我的目标就是提取每篇文章的新闻正文,具体方式是寻找到新闻正文开始与结束的段落,即可通过查找“新闻正文”,“重点词汇”可以得到
代码如下:
def getText(file):doc=docx.Document(file)start=0 #正文开始点end=0 #正文开始点state=1 #读取状态,1为成功,0为失败for i in range(len(doc.paragraphs)):if re.search('新闻正文',doc.paragraphs[i].text):start=iif re.search('重点词汇',doc.paragraphs[i].text):end=iif start==0 or end==0:state=0 if state==1:fullText = []for j in range(end-start):pa=doc.paragraphs[start+j+1].text.strip('重点词汇')fullText.append(pa)else:print(filename+': read failure!!!')return '\n'.join(fullText)
这里还有一个问题就是有些文章的格式是doc,由于python-docx仅支持docx,因此这里需要对doc文档进行转化成docx。即有:
try: doc=docx.Document(file)except: #doc转docxword = wc.Dispatch("Word.Application")doc = word.Documents.Open(file)(file_path, tempfilename) = os.path.split(file)(filename, extension) = os.path.splitext(tempfilename)#print(filename)file=file_path+filename+'.docx'doc.SaveAs(file, 12) #12为docxdoc.Close()doc=docx.Document(file)
2.文件名获取
我这里主要保存了文件名及其相应的文件地址。
#文件目录
path=''
titles1=os.listdir(path)
files=[]
files_name=[]
for title1 in titles1:titles2=os.listdir(path+'//'+title1)for title2 in titles2:titles3=os.listdir(path+'//'+title1+'//'+title2)for title3 in titles3:if re.search('doc',os.path.splitext(title3)[1]):file=path+'//'+title1+'//'+title2+'//'+title3files.append(file)files_name.append(title2)continue
3.定位整合
由于我不想一次性打印这么多的文章,便想定位定数整合。
split=10 #文章数
where=10 #起始
new_doc=docx.Document()
for j in range(split):try:text=getText(files[j+where])new_doc.add_heading(files_name[j+where], 2)print(text)new_doc.add_paragraph(text) except:pass
new_doc.styles['Normal'].font.name = 'Times New Roman' #西文字体
new_doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')#中文字体
new_doc.save('xx//流利阅读2019_'+str(where+1)+'_'+str(j+where)+'.docx')
- 结果展示
-写在最后
因本人能力有限且时间不足,所写的脚本简陋且冗杂(嗯,能满足我暂时需求就OK),望请多多包涵与指正。
另写这篇博客的初衷是分享关于word操作的一些实例,希望对你有所帮助。
PS:本文所提及的XX阅读仅供个人学习使用,不进行网络传播,本人概不负相关法律责任。
某阅读多word整理自动化脚本相关推荐
- TW使用经验杂谈(四)--UI自动化脚本规范思考
TW使用经验杂谈(四)–UI自动化脚本规范思考 在确定使用TW实施基于ui自动化时候,对H2O的按系统功能统计了一下,5大主页83个功能481个业务用例,然后再按步骤.校验.逻辑条件数量来准备,这将是 ...
- 10 个杀手级的 Python 自动化脚本
重复性任务总是耗时且无聊,想一想你想要一张一张地裁剪 100 张照片或 Fetch API.纠正拼写和语法等工作,所有这些任务都很耗时,为什么不自动化它们呢?在今天的文章中,我将与你分享 10 个 P ...
- 1 个自动化脚本引发的惨案!把公司搞死
(给程序员的那些事加星标) 转自:Python开发者(ID:PythonCoder) 5 月 31 日,1 个法国程序员 Nicolas Beauvais 在推特上发了一系列帖子,控诉 1 个云服务商 ...
- 6个实用的 Python 自动化脚本,让你每天轻轻松松
每天你都可能会执行许多重复的任务,例如阅读 pdf.播放音乐.查看天气.打开书签.清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便.而在某种程度上,Python 就是自动化 ...
- 10 个实用的 Python 自动化脚本!
重复性任务总是耗时且无聊,想一想你想要一张一张地裁剪 100 张照片或 Fetch API.纠正拼写和语法等工作,所有这些任务都很耗时,为什么不自动化它们呢?在今天的文章中,我将与你分享 10 个 P ...
- Python3,掌握这4个自动化脚本,让工作效率提升200%。
4个自动化脚本 1.引言 2.自动发送多封邮件 2.1 模块介绍 2.2 代码实战 3.自动桌面提示 3.1 模块介绍 3.2 代码实战 4.自动生成素描草图 4.1 模块介绍 4.2 代码实战 5. ...
- python自动化办公脚本下载-python自动化脚本
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_stat ...
- 【Python】5个方便好用的Python自动化脚本
相比大家都听过自动化生产线.自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率. 编程世界里有各种各样的自动化脚本,来完成不同的任务. 尤其Python非常适合编 ...
- 【干货分享】推荐5个可以让你事半功倍的Python自动化脚本
相信大家都听说自动化流水线.自动化办公等专业术语,在尽量少的人工干预的情况下,机器就可以根据固定的程序指令来完成任务,大大提高了工作效率. 今天小编来为大家介绍几个Python自动化脚本,也希望可以大 ...
最新文章
- 多分类任务的混淆矩阵
- 使用matlab编译器生成EXE文件
- 《深入.NET平台和C# 编程》内部测试 笔试题
- mysq命令行导出sql_mysql 命令行导入导出 sql
- 张会生 现代通信系统原理_通信原理实验——软件仿真实验三 模拟通信系统—SSB...
- 计算机在材料科学与工程中的应用,计算机在材料科学与工程中的应用
- 95-30-010-Channel-AbstractChannel
- python min函数时间复杂度_作为Python程序员,你真的会用max()和min()函数吗?
- lamp 配置mysql_LAMP安装配置超详细讲解
- 贪吃蛇游戏设计预习01
- MySQL下载安装新手教程
- 职业技能鉴定 八大工种 广州紧缺工种 培训考证
- excel冻结窗口怎么设置_EXCEL中隐藏、冻结、拆分窗口
- WPF 开机一键启动程序V1.0【原创】
- WRF——OBSGRID使用方法(gfortran编译)
- STEP标准描述方法-EXPRESS语言
- 浅谈汽车软件Boot的五种自刷新方式
- 在本地搭建Discuz!论坛
- 超融合和服务器关系_超融合服务器是什么?和超融合一体机有什么区别?
- 手机网站设置几秒后强制跳转商务通