前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python应用 | 读写docx文件 (值得收藏的技能)

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

作者头像
算法与编程之美
发布2019-07-24 17:02:15
8090
发布2019-07-24 17:02:15
举报

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

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

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

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

代码语言:javascript
复制
pip install python-docx

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

代码语言:javascript
复制
doc = Document('作业1.docx')

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

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

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

代码语言:javascript
复制
t0 = doc.tables[0]

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

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

代码语言:javascript
复制
row0 = t0.rows[0]

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

代码语言:javascript
复制
cell0 = row0.cells[0]
cell0.text
# 输出结果为:学号

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

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

代码语言:javascript
复制
doc.tables[0].rows[1].cells[1].text = '2019-07-19'

第四步:保存文件。

代码语言:javascript
复制
doc.save('作业1-new.docx')

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

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

代码语言:javascript
复制
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一个新的技能!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档