【四】如何用python获取文档中的子字符串(只知道子字符串的开头和结尾)

本文介绍了如何使用Python-docx库动态设置Word文档的名称,并展示了如何通过Python来获取Word文档中的特定信息。通过遍历文档的段落,结合字符串方法`startswith`和`endswith`,可以定位到特定格式的日期信息。这对于批量处理和自动化操作Word文档非常有用。
摘要由CSDN通过智能技术生成

环境配置:python 3.9
开发IDE:pycharm

(一)如何动态地设置文档名?

使用Python-docx库,具体pip库的方式已经在本专栏的前文中提到啦,需要的朋友可以自己去看一下:
【一】为什么有时候在cmd里pip的包,pycharm里面找不到?

实践中遇到了一个实际的问题,就是如何用python去动态地设置要生成的文档名,毕竟要处理的文档太多,批量处理的时候就必须动态命名。

答案是存储地址本质上也是一个字符串,直接拼接起来就可以了。

import string

title = title = doc.paragraphs[0].text 
document.save('D:/硕士/'+title+'.docx')

其中title就是一个动态的变量。

(二)如何用Python获取word文档中的局部信息

一个超级基础的小tip:
for的倒序循环(之前竟然不会!):

#从10到0进行遍历循环,括号里最后一个-1是步长,实现倒序;前两个参数是起始和终止值,也是前闭后开。
for i in range(10,-1,-1): 
    print(i)

这个局部信息获取,我主要是为了获取个别段落。
如果并不知道完整的子字符串,只是知道子字符串的开头结尾特征。

str.startswith("h")  #子字符串以h开头
str.endswith("o") #子字符串以o结尾

一个示例:

# 公开了的文件如何提取汉字时间
from docx import Document
import string

document = Document() #创建一个文档

#读取文件
doc = Document("D:/书.docx") #打开文件

#获取总的段落数,目的是为了倒序遍历
num = len(doc.paragraphs)

#按照段落倒序遍历文档
for i in range(num-1,-1,-1):
    #找到以“二”开头,以“日”结尾的行,那就是日期
    if(doc.paragraphs[i].text.startswith('二')):
        if(doc.paragraphs[i].text.endswith('日')):
            print('find it')
            print(doc.paragraphs[i].text)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值