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

这篇具有很好参考价值的文章主要介绍了Python+docx实现python对word文档的编辑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

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

安装:pip install docx

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

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

二、读取文档中的内容

  1、读取段落内容

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

from docx import Document

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

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

        输出的结果如下:

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

  2、读取表格内容

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)

        输出的结果如下:

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

三、修改

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

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

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文档

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

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

原文档:

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

新生成文档:

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

总结:

1、思路:

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

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

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

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

        这里可以多复制几张表格

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

 按照上面的思路来:

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

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')

输出结果:

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

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

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

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

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)  #注意这里如果使用的原文档的路径,则会直接对原文档的内容进行修改,

输出结果:

Python+docx实现python对word文档的编辑,word文章来源地址https://www.toymoban.com/news/detail-559645.html

到了这里,关于Python+docx实现python对word文档的编辑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【python】使用docx获取word文档的标题等级、大纲等级和编号等级

    在Microsoft Word中: 【标题X】是一个样式,一般来说,【标题1】样式的大纲级别是1级。 大纲级别一般用于页面导航和生成目录。可以右键文字-段落里查看/设置大纲的级别。设置成【x级】后左侧导航栏就会显示。 编号等级就是大家熟知的项目编号,常用于正文。 基本没有一

    2024年02月03日
    浏览(42)
  • python操作word——python-docx和python-docx-template模块

    前言:项目用到了导出文档,综合考虑使用 python-docx 模块 pip install python-docx 三个部分 文档Document 段落Paragraph 文字块Run 文档 就是docx文档 段落 就是寻常段落 文字块 如下,短句子中有多种不同的样式,则会被划分成多个文字块。 如果所示,这个paragraph一共四个run。 四级结构

    2024年02月15日
    浏览(43)
  • Python 操作 Word 详解(python-docx)

    效果图:

    2024年02月03日
    浏览(37)
  • Python 读取 Word 详解(python-docx)

    效果图:

    2024年02月06日
    浏览(39)
  • python-docx操作word

    在Python中操作Word文档通常涉及到读取、创建和编辑文档。这可以通过使用第三方库如 python-docx 来实现。以下是一个详细的指南,介绍如何使用 python-docx 来进行常见的Word文档操作。 安装 python-docx 首先,你需要安装 python-docx 库。可以使用pip来安装: 创建新的Word文档 使用 p

    2024年02月04日
    浏览(40)
  • 实现word文档在线编辑

    我们通过使用docker部署的onlyoffice来实现文档的预览编辑,做到实时保存 依次运行以下命令即可 注意: 1.http://ip:9000/web-apps/apps/api/documents/api.js 中ip问docker容器服务器地址 2.http://ip:port/file/2022/09/08/111.docx为文件源路径 3.http://ip:port/docx/save 为回调的后端地址 4. “key”: “16” 更

    2024年02月15日
    浏览(49)
  • Python系列之Python-docx生成运行日报Word模板

    因项目需求需要自动生成运行日报,想到使用Python脚本自动生成Word运行模板,接口数据访问elasticsearch获取,获取到的数据再使用pyechart生成图表展示在Word模板中。本文主要介绍python几种工具的安装部署,包括python-docx、elasticsearch和pyechart环境。 1、安装python-docx 1)官方文档

    2023年04月16日
    浏览(38)
  • [Python进阶] Python操作word:win32com、python-docx

    7.5.1 通过win32com操作 7.5.1.1 新建word并写入内容 7.5.1.2 读取word 离离原上草,岁晚霜霰滋。 与子为兄弟,生世逢乱离。 漂荡各分散,生死安得知。 乐土叹无食,南州叹无衣。 良时幸休明,天路开清夷。 翩翩两鸿鹄,振翼思奋飞。 一留故山树,一望云中涯。 东西各异势,顾影

    2024年02月02日
    浏览(40)
  • 使用OpenXML库替换docx文档(Word文档)中的特定字段

    在批量生成Word文档的应用中,最常见的需求莫过于替换掉文档中的特定字段以生成新的文档。利用OpenXML库可轻松实现这一需求。 首先放出最简单然而有bug的版本: 该版本的原理是遍历word文档中的每个段落,搜索段落中的每个文字字段对象,如果找到匹配的值就将其替换成

    2024年02月11日
    浏览(50)
  • vue 使用docx库生成word表格文档

            在Vue.js中生成Word表格文档,可以通过前端库来实现。这些库可以帮助我们轻松地将HTML表格转换为Word文档(通常是.docx格式)。以下是一些流行的前端库,它们可以用于在Vue项目中生成Word表格文档:                  docx是一个流行的JavaScript库,用于在浏览

    2024年02月21日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包