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

前言:

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

安装:pip install docx

一、准备一个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)

        输出的结果如下:

  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)

        输出的结果如下:

三、修改

修改内容需要注意,需要配合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文档

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

原文档:

新生成文档:

总结:

1、思路:

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

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

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

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

        这里可以多复制几张表格

 按照上面的思路来:

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

输出结果:

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

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

输出结果:

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在实现python+django+mysql的pdf转word项目中, 首先需要安装并配置好python, django, mysql环境。 其次, 可以使用第三方库如PyPDF2和python-docx实现pdf文件的读取和word文档的生成。 在Django中建立数据模型, 实现文件上传, 存储, 下载等功能。 在mysql中建立数据库, 存储文件信息, 并在Django中连接数据库, 实现文件信息的增删改查功能。 最后, 使用Django中的视图和模板, 实现文件上传, 转换, 下载等操作的前端展示。 ### 回答2: Python是一门强大且灵活的编程语言,而Django则提供了一系列的便捷工具和框架,可快速搭建网站并处理后端逻辑。MySQL是一种流行的关系型数据库,被广泛应用于开发中。 本篇文章将介绍如何用Python Django和MySQL实现PDF转换为Word的项目。 首先,我们需要安装以下组件: 1. Python3:我们将使用Python3来搭建后端逻辑。 2. Django:一个流行的Python框架,用于创建网站。 3. pdfminer:一个Python库,可用于从PDF文件中提取文本数据。 4. python-docx:用于与Microsoft Word文件交互的Python库。 5. MySQL:关系型数据库,用于存储和管理数据。 在安装好这些组件后,我们可以开始编写代码了。 首先,我们需要在Django中创建一个应用,此应用将包含PDF文件上传和转换为Word文件的视图。 接下来,我们需要编写一个视图函数,用于将上传的PDF文件读取并将其文本内容提取出来。我们可以使用pdfminer这个Python库来提取PDF文本数据。我们还需要编写一个函数,将提取出的文本转换为Word格式,并将其储存在服务器上。 最后,我们需要使用MySQL进行数据的储存和管理。我们需要定义一个数据库模型,来创建一个表,此表将储存上传的PDF文件及其转换成的Word文件的路径和相关信息。我们还需要编写其他函数,用于从数据库中读取文件信息、显示转换后的文件等功能。 在整个项目中,需要注意安全性方面的问题,以防止上传恶意文件和系统漏洞的攻击。同时,我们还需要考虑网站性能问题,如何使用优化技术来加速文件上传和转换,减小数据库负载等。 综上所述,通过使用Python Django和MySQL,我们可以很方便地开发出一个PDF转Word的应用程序。它可以通过上传PDF文件将其转换为Word格式,并将其保存到MySQL数据库中。这种方法不仅实用,而且可扩展性强,易于维护和交付。 ### 回答3: Python是一门高级编程语言,它具有易读性,易学性,可维护性等优点,并且广泛应用于数据分析、人工智能等领域。Django是Python的一个Web框架,它提供了强大的模板引擎、ORM等功能,使得Python快速开发Web应用变得轻而易举。而MySQL是一种关系型数据库,被广泛使用于Web开发和数据存储方面。 PDF转Word是一个常见的需求,因为Word是一个广泛使用的文档处理工具,而PDF则更适合用于展示和共享文档。因此,在实际工作中,有时候需要将PDF格式的文档转换为Word格式的文档。那么,我们可以通过Python Django MySQL来实现这个需求。 首先,我们需要安装相关的Python库,如pdfminer、python-docx和django-bootstrap3等。然后,在Django中创建一个应用,为项目添加视图函数和路由,实现上传PDF文件、转换为Word文件和下载Word文件的功能。其中,ORM可以用来操作数据库,保存上传的PDF文件和生成的Word文件,以及记录操作日志等信息。 其次,我们需要将PDF文件转换为Word文件。这里,我们可以使用pdfminer库来解析PDF文件,获取其中的文本内容,然后使用python-docx库来生成Word文件,并将文本内容写入其中。同时,在Word文件中添加合适的样式和格式,使得生成的Word文件更加美观和易读。 最后,我们需要将生成的Word文件提供给用户下载。这里,我们可以使用Django的HTTP响应机制,将生成的Word文件写入响应中,设置相应的响应头和Cookie,并返回给前端页面,让用户可以通过点击下载按钮下载并查看文件。 总之,通过Python Django MySQL来实现PDF转Word项目实战,既可以提高工作效率,也可以拓展自己的技能和知识,同时也可以增加项目实战经验,提升职业竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值