word文档的写入(1)

Word文档的写入

我们手动复制Excel信息,再粘贴进Word,进行文件保存的整个操作。属于机械性的重复劳动,并不能带来太大价值。在Excel和Word的操作内,也没有能很好解决此类问题的方法。
如果遇到信息一多,几十上百个文件,就需要花费大量的时间和精力。
利用Python的循环语句,可以帮助我们完成大量的重复性操作。包括从Excel文档、Word文档中,进行数据的读取、写入、保存。

首先,我们先学习一个小的写入操作:
在Word文档中,找到一个需要插入信息的位置,并将信息插入到Word文件对应的位置中。
之后,我们再学习,批量从Excel里读取信息,然后将信息批量加入Word文档中。

怎么样找到Word文档中需要插入信息的位置呢?
我们来观察下右边的“成绩报告单模版.docx”,红色框出的就是我们需要填入信息的位置。能够发现,在这个Word文档中,我们需要写入的信息,既有在段落中,也有在表格中。
我们首先来学习在段落中找到需要插入信息的位置

在将信息写入Word文档前,我们需要先读取该文档。文档存储在 "成绩报告单模版.docx" 路径下,还记得读取Word文档的相关步骤吗?
1. 导入docx模块
2. 使用函数docx.Document()函数读取指定路径下的Word文件
我们将读取后的Word对象赋值给变量doc。

读取Word文档后,我们就可以对其进行相关的读写操作。

以 姓名:这一个段落举例:
它位于Word文档的第4个段落
如果我们想在后面写入“小夜同学”,需要在冒号(:)的末尾进行相关操作。

那么该如何定位到冒号:末尾的位置呢?

根据前面课程所学习的Word文档的基本结构,我们知道一个Word文档(Document)的基本组成单位是段落(Paragraph),而段落中的文本内容至少包含一个或多个样式块(run)。

要在冒号:后插入文本信息,就需要知道:位于第四个段落的第几个样式块。

我们先通过.paragraphs属性和索引,读取doc中的第4个段落。
再通过.runs属性获取该段落中的样式块对象列表,并赋值给变量runList
runList列表中的元素是第4个段落里所有的样式块对象。

在for循环里,我们使用.text属性获取各样式块的文本内容,并赋值给变量runText。
在最后,格式化输出了变量index和runText。
根据输出内容,就可以清楚地知道每一个索引所对应的文本内容啦~

根据输出结果可以看出:

姓名:这个段落一共包含3个样式块。

第1个样式块的文本内容是
第2个样式块的文本内容是一个空格
第3个样式块的文本内容是名:

要填入信息,就需要在 名:的末尾写入。
名:所在样式块的索引是2,那么就可以通过doc.paragraphs[3].runs[2]进行访问。

根据刚刚所学的内容,我们来自己获取一下,如果要在院系:后面插入信息,那应该在第几个样式块里进行操作呢?
提示:院系:位于Word文档中的第6个段落~

# 使用import导入docx

import docx

# 读取工作目录里"成绩报告单模版.docx"的Word文档赋值给变量doc

doc = docx.Document("成绩报告单模版.docx")

# 获取doc中第6段的所有样式块对象,并赋值给遍历runList

runList = doc.paragraphs[5].runs

# 使用for循环和enumerate()函数

# 遍历储存标准答案的列表runList的同时

# 生成一个从0开始的index

for index, value in enumerate(runList):

    # 获取当前样式块的文本内容,并赋值给变量runText

    runText = value.text

    # 格式化输出:索引n----xxxxx

    print(f"索引{index}----{runText}")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值