Python+docx实现python对word文档的编辑

前言:

该模块可以通过python代码来对word文档进行大批量的编辑。docx它提供了一组功能丰富的函数和方法,用于创建、修改和读取Word文档。下面是docx模块中一些常用的函数和方法的介绍:

安装:pip install docx

一、准备一个word文档,文档内容大致如下

二、读取文档中的内容

1、读取段落内容

通过遍历 doc.paragraphs 来获取文档中的每个段落的文本内容。

python 复制代码
from docx import Document

path = 'test.docx'         #word文档路径
doc  = Document(path)   #创建一个文档对象

#遍历文档中的所有段落
for par in doc.paragraphs:
    text = par.text
    print(text)

输出的结果如下:

2、读取表格内容

python 复制代码
from docx import Document

path = 'test.docx'         #word文档路径
doc  = Document(path)   #创建一个文档对象


# 遍历文档中的表格
for table in doc.tables:
    for row in table.rows:
        for cell in row.cells:
            text = cell.text
            print(text)

输出的结果如下:

需要开发工具来实现word 或 Excel 批量编辑的欢迎给我留言

+可以代开发可视化操作界面;

+高度贴合用户需求和使用场景;

+一次投入,永久受益,实现高效快速办公,永久解放双手

三、修改

修改内容需要注意,需要配合**document.save(file_path):将文档保存到指定的文件路径file_path。**

1、修改文档内容: 比如把文档中的 "所有的123" 替换成 "好好学习"

python 复制代码
from docx import Document

path = 'test.docx'         #word文档路径
doc  = Document(path)   #创建一个文档对象
# 遍历文档中的所有段落
for par in doc.paragraphs:
    text = par.text
    if '123' in par.text:
        par.text = par.text.replace('123','好好学习!')
#凡是有保存功能的,需要先把原文档关闭才可以编辑
doc.save(path)  #注意这里如果使用的原文档的路径,则会直接对原文档的内容进行修改,
new_path = 'new_test.docx'    #创建一个新路径
doc.save(new_path)          #这里则会把内容保存到一个新文档中

输出结果:

因为我这里保存了两个路径:

1、可以看到这里新生成了一个word文档

2、查看两个文档中的内容

原文档:

新生成文档:

总结:

1、思路:

先定位修改的内容------>然后赋值------>保存(没有修改的内容都会原样保存下来)

2、运行修改的功能时候需要把原文档关闭;

3、如果不生成新的文档则切记,修改内容不可逆!!!

2、修改表格内容: 把表格中的 "休息" 替换成 "预习"

这里可以多复制几张表格

按照上面的思路来:

1、先定位,找到修改目标的坐标

python 复制代码
from docx import Document

path = 'test.docx'         #word文档路径
doc  = Document(path)   #创建一个文档对象
tables = doc.tables
#获取表格中所有内容对应的坐标
for i, row in enumerate(tables[0].rows):
    for j, cell in enumerate(row.cells):
        print( f'[+]{cell.text}    [+]对应的坐标是   ({i}, {j})\n')

输出结果:

这里注意(这里找坐标和我们平时看表的习惯不一样,他们并没有逻辑上的关系,而只是单纯的坐标来对应)

2、记住这个坐标我们后面就可以对所有的表进行修改:

注意下面代码中的 cell(2,1) 中的坐标就是上面我们找到的坐标,通过tablestab是逐一遍历出每一张表格,然后把对应的坐标文档替换为 '预习'.

python 复制代码
from docx import Document

path = 'test.docx'         #word文档路径
doc  = Document(path)   #创建一个文档对象
tables = doc.tables         #这里已经把文档中的所有表格都取出来了,以列表的形式存储
#获取表格中所有内容对应的坐标
for tab in range(len(tables)):
        tables[tab].cell(2,1).text='预习'
# #凡是有保存功能的,需要先把原文档关闭才可以编辑
doc.save(path)  #注意这里如果使用的原文档的路径,则会直接对原文档的内容进行修改,

输出结果:

相关推荐
asdzx679 小时前
使用 Python 精准操控 Word 字体:获取与替换方案
python·c#·word
Am-Chestnuts11 小时前
Mermaid流程图怎么导出Word/PDF?DS随心转批量保存AI多轮修改与源码
pdf·aigc·word·流程图
DS随心转小程序15 小时前
deepseek 生成 word 文档指令搭配 AI 导出鸭高效完成各类文档批量输出
人工智能·word·豆包·deepseek·ai导出鸭
java_logo16 小时前
Docker 部署 WPS 在线办公套件,浏览器即可编辑 Word、Excel、PPT
docker·word·wps·wps部署教程·wps免费版·轩辕镜像·docker部署教程
wtsolutions2 天前
Word 文档 怎么批量加密 批量设置打开密码
word·加密
不坑老师3 天前
怎么在Word中制作汉字书写笔顺——不坑盒子汉字笔顺步骤在小学低段识字教学中的应用
前端·数据库·人工智能·word·excel·office
2601_963771373 天前
Hardening Enterprise WordPress Sites Against REST API Leaks and Bad Headers
前端·windows·word·php
_清风来叙4 天前
【软件】Word软件不支持显示emoji表情包如何解决
电脑·word
CallmeFoureyes4 天前
使用 C# 提取 Word 文档中的表格数据
开发语言·c#·word
AI刀刀5 天前
豆包智能体对话导出后,如何构建长期归档与高效检索体系?
android·人工智能·word·excel·ai导出鸭