分享

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

 算法与编程之美 2020-08-08

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

要想让计算机完成这项工作,就需要通过编程的方式告诉计算机应该怎么做。我们选择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')

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

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

import pathlibfrom 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./en/latest/

 where2go 团队


微信号:算法与编程之美          

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多