用python批量更改word文档名
最近需要批量修改文档的名字,由于是从网站下载的文档,很多文档名字带有数字,需要给文档重新命名并需要去掉数字,觉得一个个修改word文档太麻烦,于是就参考了一下网上的资料自己写了一个python程序。
from docx import Document
from string import digits
import os
dir_1 = "D:\\pythonlizi\\wordlizi\\xuyaoxiugai" #获取文件路径
filenames=os.listdir(dir_1) #获取文件名
for a in range(len(filenames)):
print(filenames[a]) #打印word文档名称
dir_docx=dir_1+"\\"+filenames[a] #合成路径
try:
document=Document(dir_docx) #建一个word文档类
tables=document.tables #获取文档里的表格
table=tables[0] #获得第一个表格
except:
print("error")
else:
row_data = table.cell(0,1).text #获取表格第一行第二列的内容
row_data2= table.cell(0,29).text
row_data3=filenames[a] #把word文档名赋值给变量
remove_digits = str.maketrans('', '', digits) #去除文档名的数字
row_data3 = row_data3.translate(remove_digits)
new_name=row_data+"+"+row_data2+"+"+row_data3[-9:] #合成新文档名
print(new_name)
try:
os.rename(dir_1+os.sep+filenames[a],dir_1+os.sep+new_name) #更改word新的名称
except(FileNotFoundError,FileExistsError,OSError):
print("FileNotFoundError")
|