您当前的位置: 首页 >  Python

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python应用 | 读写docx文件 (值得收藏的技能)

发布时间:2019-07-20 00:00:00 ,浏览量:0

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

字处理软件是平时办公必备的同时也是最常用的软件之一,而字处理软件用的最多最频繁的就是微软的word,其扩展名为docx。在日常工作中,可能需要对很多的docx文件进行批处理,例如教师在批阅学生提交的电子版作业时,需要填写日期等信息,假设一个年级有100人,那么100份作业就需要填写100次日期,这个工作是简单的、重复的,那么是不是可以将这个工作交给计算机去做呢?

640?wx_fmt=png

要想让计算机完成这项工作,就需要通过编程的方式告诉计算机应该怎么做。我们选择python编程语言来完成这项工作。

第一步:安装第三方操作docx文件的依赖库docx。

python中提供了支持读写docx文件的库为python-docx,首先需要安装这个第三方库,可以通过包管理软件pip来完成。

pip install python-docx

第二步:打开docx文件,假设要打开的文件名为'作业1.docx'。

doc = Document('作业1.docx')

有了docx对象,接下来就可以对文件进行操作了。

第三步:找到需要修改的位置,并完成修改。

通过分析docx文档,了解到需要处理的内容在表格中。

t0 = doc.tables[0]

该方法可以获得文件的第一个表格。

接下来可以获得表格的第一行。

row0 = t0.rows[0]

接下来可以获得该行的第一个单元格,并打印该单元格的内容。

cell0 = row0.cells[0]	
cell0.text	
# 输出结果为:学号

该结果与文章开头的文件截图内容一致,从上面可以看到,利用python的docx库,可以非常方便的操作docx文件。

按照最初提出的需求,需要将表格中的日期修改为今天,可以看到该单元格位于第一个表格的第二行的第二个单元格。

doc.tables[0].rows[1].cells[1].text = '2019-07-19'

第四步:保存文件。

doc.save('作业1-new.docx')

640?wx_fmt=png

最后一步:批处理所有文件。

要想批处理所有文件,只需要遍历指定文件夹中的所有文件,然后通过上面的方式对每一个文件进行处理即可完成任务。

import pathlib	
from docx import Document	

	
for item in pathlib.Path('/作业目录').iterdir():	
    # item.name 即为文件名	
    doc = Document(item.name)	
    doc.tables[0].rows[1].cells[1].text = '2019-07-19'	
    doc.save(item.name)

本文介绍了利用python批处理docx文件的方法,这个方法是非常实用、有效的,能够极大的提高工作效率,充分践行把简单的、重复的工作交给计算机。还在等什么呢,赶快下载试用吧,get一个新的技能!

如果您对本文感兴趣,欢迎持续关注后续更多Python应用系列文章。

参考文献

[1] python-docx documentation. https://python-docx.readthedocs.io/en/latest/

 where2go 团队

   

微信号:算法与编程之美          

640?wx_fmt=jpeg

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.3531s