版权声明:本文为博主原创文章,转载 请注明出处: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整理自动化脚本相关推荐

  1. TW使用经验杂谈(四)--UI自动化脚本规范思考

    TW使用经验杂谈(四)–UI自动化脚本规范思考 在确定使用TW实施基于ui自动化时候,对H2O的按系统功能统计了一下,5大主页83个功能481个业务用例,然后再按步骤.校验.逻辑条件数量来准备,这将是 ...

  2. 10 个杀手级的 Python 自动化脚本

    重复性任务总是耗时且无聊,想一想你想要一张一张地裁剪 100 张照片或 Fetch API.纠正拼写和语法等工作,所有这些任务都很耗时,为什么不自动化它们呢?在今天的文章中,我将与你分享 10 个 P ...

  3. 1 个自动化脚本引发的惨案!把公司搞死

    (给程序员的那些事加星标) 转自:Python开发者(ID:PythonCoder) 5 月 31 日,1 个法国程序员 Nicolas Beauvais 在推特上发了一系列帖子,控诉 1 个云服务商 ...

  4. 6个实用的 Python 自动化脚本,让你每天轻轻松松

    每天你都可能会执行许多重复的任务,例如阅读 pdf.播放音乐.查看天气.打开书签.清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便.而在某种程度上,Python 就是自动化 ...

  5. 10 个实用的 Python 自动化脚本!

    重复性任务总是耗时且无聊,想一想你想要一张一张地裁剪 100 张照片或 Fetch API.纠正拼写和语法等工作,所有这些任务都很耗时,为什么不自动化它们呢?在今天的文章中,我将与你分享 10 个 P ...

  6. Python3,掌握这4个自动化脚本,让工作效率提升200%。

    4个自动化脚本 1.引言 2.自动发送多封邮件 2.1 模块介绍 2.2 代码实战 3.自动桌面提示 3.1 模块介绍 3.2 代码实战 4.自动生成素描草图 4.1 模块介绍 4.2 代码实战 5. ...

  7. python自动化办公脚本下载-python自动化脚本

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 运维自动化,已经成为运维必不可少的一部分,下面附上自己写的监控nginx_stat ...

  8. 【Python】5个方便好用的Python自动化脚本

    相比大家都听过自动化生产线.自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率. 编程世界里有各种各样的自动化脚本,来完成不同的任务. 尤其Python非常适合编 ...

  9. 【干货分享】推荐5个可以让你事半功倍的Python自动化脚本

    相信大家都听说自动化流水线.自动化办公等专业术语,在尽量少的人工干预的情况下,机器就可以根据固定的程序指令来完成任务,大大提高了工作效率. 今天小编来为大家介绍几个Python自动化脚本,也希望可以大 ...

最新文章

  1. 多分类任务的混淆矩阵
  2. 使用matlab编译器生成EXE文件
  3. 《深入.NET平台和C# 编程》内部测试 笔试题
  4. mysq命令行导出sql_mysql 命令行导入导出 sql
  5. 张会生 现代通信系统原理_通信原理实验——软件仿真实验三 模拟通信系统—SSB...
  6. 计算机在材料科学与工程中的应用,计算机在材料科学与工程中的应用
  7. 95-30-010-Channel-AbstractChannel
  8. python min函数时间复杂度_作为Python程序员,你真的会用max()和min()函数吗?
  9. lamp 配置mysql_LAMP安装配置超详细讲解
  10. 贪吃蛇游戏设计预习01
  11. MySQL下载安装新手教程
  12. 职业技能鉴定 八大工种 广州紧缺工种 培训考证
  13. excel冻结窗口怎么设置_EXCEL中隐藏、冻结、拆分窗口
  14. WPF 开机一键启动程序V1.0【原创】
  15. WRF——OBSGRID使用方法(gfortran编译)
  16. STEP标准描述方法-EXPRESS语言
  17. 浅谈汽车软件Boot的五种自刷新方式
  18. 在本地搭建Discuz!论坛
  19. 超融合和服务器关系_超融合服务器是什么?和超融合一体机有什么区别?
  20. 手机网站设置几秒后强制跳转商务通

热门文章

  1. MWC2023,现场海量图片放送!
  2. qeephp Helper_ImgCode类
  3. 这样的 20 张数据可视化大屏真的很香,数据直接套用即可(含源码)
  4. Android lua编辑工具,mlua app下载
  5. 蓝桥 历届试题 矩阵翻硬币 JAVA
  6. 重回童年的经典系列☀️|【炸弹人小游戏】制作过程+解析 | 收藏起来跟曾经的小伙伴一起梦回童年!
  7. linux批量替换文件名、文件内容字符串
  8. 2018年年底Android悲催的面试之路
  9. JS性能优化——减少DOM操作次数
  10. SpringBoot实现 内置 定时 发送邮件功能