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

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

字处理软件是平时办公必备的同时也是最常用的软件之一,而字处理软件用的最多最频繁的就是微软的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 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/


目录
相关文章
|
1月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
675 2
|
1月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
126 0
|
2月前
|
数据采集 监控 Java
Python 函数式编程的执行效率:实际应用中的权衡
Python 函数式编程的执行效率:实际应用中的权衡
226 102
|
29天前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
|
1月前
|
机器学习/深度学习 算法 安全
【强化学习应用(八)】基于Q-learning的无人机物流路径规划研究(Python代码实现)
【强化学习应用(八)】基于Q-learning的无人机物流路径规划研究(Python代码实现)
123 6
|
1月前
|
设计模式 缓存 运维
Python装饰器实战场景解析:从原理到应用的10个经典案例
Python装饰器是函数式编程的精华,通过10个实战场景,从日志记录、权限验证到插件系统,全面解析其应用。掌握装饰器,让代码更优雅、灵活,提升开发效率。
140 0
|
2月前
|
数据采集 存储 数据可视化
Python网络爬虫在环境保护中的应用:污染源监测数据抓取与分析
在环保领域,数据是决策基础,但分散在多个平台,获取困难。Python网络爬虫技术灵活高效,可自动化抓取空气质量、水质、污染源等数据,实现多平台整合、实时更新、结构化存储与异常预警。本文详解爬虫实战应用,涵盖技术选型、代码实现、反爬策略与数据分析,助力环保数据高效利用。
172 0
|
2月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
118 0
|
2月前
|
存储 程序员 数据处理
Python列表基础操作全解析:从创建到灵活应用
本文深入浅出地讲解了Python列表的各类操作,从创建、增删改查到遍历与性能优化,内容详实且贴近实战,适合初学者快速掌握这一核心数据结构。
252 0
|
2月前
|
中间件 机器人 API
Python多态实战:从基础到高阶的“魔法”应用指南
Python多态机制通过“鸭子类型”实现灵活接口,使不同对象统一调用同一方法,自动执行各自行为。它简化代码逻辑、提升扩展性,适用于数据处理、策略切换、接口适配等场景。掌握多态思维,能有效减少冗余判断,使程序更优雅、易维护。
154 0

推荐镜像

更多