最近几天工作的内容是对40个项目进行考核,每个项目都需要一个考核评分表,已经有了项目的列表。
如果用常规的方法,需要复制40个文件,并逐个修改,不光工作量大,也容易出错,后期修改也不方便。
于是想到了用Word的邮件合并功能,用Word控制评分表的样式,用Excel控制评分表中的内容。
关于邮件合计的内容参考以下教程:
https://jingyan.baidu.com/article/335530da51745219cb41c3ea.html
合并完成后所有的内容都在同一个文件内,需要对其进行拆分,每个表为一个单独的文件。关于拆分参考以下教程:
https://jingyan.baidu.com/article/37bce2be16dbc81002f3a235.html
注意:需要把第一行设置成标题。另外:文档拆分有一个缺点,就是独立生成的文档中,会出现空白页,这是因为【文档拆分】的过程中自动生成了新的【分节符(连接)】,可以分别进行手动删除。
拆分完成后,文件名不符合要求,需要进行批量重命名,重命名脚本使用Python编写,具体代码如下:
import os def rename(): with open(r"I:Work 3_项目2018_05_考核1组策划考核ok文件名.txt", encoding='UTF-8') as f: str = f.readlines() # 新文件名按行保存 path = r"I:Work 3_项目2018_05_考核1组策划考核重命名" # 要重命名的文件路径 filelist = os.listdir(path) # 该文件夹下所有的文件(包括文件夹) filelist.sort(key=lambda x: int(x[3:-4])) # 对文件进行排序,忽略前面的汉字及扩展名 i = 0 for files in filelist: # 遍历所有文件 Olddir = os.path.join(path, files) # 原来的文件路径 if os.path.isdir(Olddir): # 如果是文件夹则跳过 continue filetype = os.path.splitext(files)[1] # 文件扩展名 Newdir = os.path.join(path, str[i].strip(' ') + filetype) # 新的文件路径 os.rename(Olddir, Newdir) # 重命名 i = i + 1 rename()