环境配置: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)