- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Python写几行代码,一分钟搞定一天工作量,同事直呼:好家伙!
写代码之前都先明确完整的问题需要分为几个小步骤实现。从需求中我们或许可以将代码分为以下几步:
“
猎取会议通知 Notice 文件夹下的全部文件;
解析每一份 Word 文件,猎取需要的四个信息,输出到 Excel 中;
保存 Excel 文件
”
有了规律就有了写代码的思路了。第 1 步可以由 glob 库完成,后面两步就是操作 Word 的 python-docx 库和操作 Excel 的 openpyxl 库的交互协作了。
这两个库我们都有说过,假如你不生疏,肯定要先阅读下面的文章!
??python-docx操作Word详解
??openpyxl操作Excel详解
代码实现
首先导入需要的库:
from?docx?import?Documentfrom?openpyxl?import?load_workbookimport?glob
将模板 Excel 读取进程序:
path??=?rC:\Users\xxx?#?路径为会议通知文件夹和?Excel?模板所在的位置,可按实际情况更改workbook?=?load_workbook(path?+?r\Meeting_temp.xlsx)sheet?=?workbook.active
写任何批处理的代码之前都建议先写一下单次操作的代码,因而我们先完成对 会议通知 1.docx 文件的解析,确保无误。现在对于文档的结构和关键信息的位置尚不明确,可以先将 Word 以段落 Paragraph 为单位输出观看:
wordfile?=?Document(path?+?r\Notice\会议通知?1.docx)for?paragraph?in?wordfile.paragraphs:????print(paragraph)
文件的文字排布脉络比较清楚,基本是一句话对应一个段落,而需要的信息可以简约通过推断每句话(每段话)前几个字而明确:
????for?paragraph?in?wordfile.paragraphs:????????if?paragraph.text[0:5]?==?学习时间::????????????study_time?=?paragraph.text[5:]????????if?paragraph.text[0:4]?==?掌管人::????????????host?=?paragraph.text[4:]????????if?paragraph.text[0:5]?==?学习方式::????????????study_type?=?paragraph.text[5:]
对于学习内容的猎取比较特殊,不像其他三个信息,都在一句话中,且关键字就为前几个字:
可以看到,“学习内容” 四个字和真正包含的内容分散在不同的句子中. 这里简约用一个策略:
“
建立一个空列表存放,然后遍历每一段推断,假如一个字符为数字且其次个字符为中文顿号 “、” 就猎取存放到列表中。最终把列表中的元素重新组合成一个长字符串即可:
”
????content_lst?=?[]????for?paragraph?in?wordfile.paragraphs:????????if?paragraph.text[0:5]?==?学习时间::????????????study_time?=?paragraph.text[5:]????????if?paragraph.text[0:4]?==?掌管人::????????????host?=?paragraph.text[4:]????????if?paragraph.text[0:5]?==?学习方式::????????????study_type?=?paragraph.text[5:]????????if?len(paragraph.text)?=?2:????????????if?paragraph.text[0].isdigit()?and?paragraph.text[1]?==?、:????????????????content_lst.append(paragraph.text)????content?=??.join(content_lst)
完成了解析 Word 文件之后,就需要把内容输出的 Excel 文件中了。
简约来说,就是将上面代码猎取到的几个元素组合成一个列表,通过 sheet.append(list) 的方法写入 Excel 文件中:
number?=?0?#?全局中设置一个变量用于计数,做为序号输出wordfile?=?Document(path?+?r\Notice\会议通知?1.docx)
您可能关注的文档
- 党校学员鉴定评语.docx
- 党校学员交流发言稿.docx
- 党校学员廉洁自律承诺书.docx
- 党校学员演讲稿.docx
- 斩获猫眼.分,《中国医生》展现大国的医生担当.docx
- 旗帜鲜明地反对“码而优则仕”.docx
- 新手上路必学的Python函数基础知识,全在这里了(多段代码举例).docx
- 无监控,不运维.docx
- 日志易AIOps实践:日志数据大有用途.docx
- 昨天七夕,都干啥了呢?.docx
- 用python分析万条淘宝数据,终于搞清楚了我的交易行为.docx
- 用Python分析了近几年胡润排行榜,我酸了....docx
- 用Python分析《令人心动的offer》的万条弹幕,网友们都在吐槽什么?.docx
- 用Python实现武侠小说中的武打动作残影特效.docx
- 用Python分析北京市蛋壳公寓租房数据.docx
- 用Python带你看看全国统一国庆节请假理由是什么~.docx
- 用Python快速分析和预测股票价格.docx
- 用Python打造一款D医疗影像识别系统.docx
- 用Python打造批量下载视频并能可视化下载进度的炫酷下载器.docx
- 用python爬取《龙岭迷窟》评论,看看比同系列鬼吹灯作品以及《盗墓笔记》好在哪里?.docx
最近下载
- 浙江省金砖联盟2024-2025学年高一上学期期中联考语文试卷(含答案).pdf VIP
- 创投行业的介绍.pptx VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(10).转场效果脚本开发.docx VIP
- 上海华虹(集团)有限公司909工程升级改造——华虹集团建.PDF VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(9).常用视频效果脚本开发.docx VIP
- 礼记:大同.ppt VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(8).媒体文件导入导出脚本.docx VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(7).项目和序列管理脚本.docx VIP
- 2024-2025学年七年级语文下学期期末真题分类汇编文言文阅读(湖南专用).docx VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(6).视频处理自动化流程.docx VIP
原创力文档


文档评论(0)