㈠ Python办公自动化:批量重命名PDF文件
客户从打单系统导出商单发票的PDF文件,由于命名错误,文件名应为纯数字的「服务商单号」,而非「客户商单号」。面对数量庞大的文件,手动修改费时且不优雅。幸运的是,客户提供了一个Excel表,其中列出了「客户单号」对应的「服务商单号」,实现一一对应替换成为可能。利用Python字典的kv替换功能,将Excel中的数据结构映射到文件名修改中,简化了操作过程。
在人工替换方法中,操作者需打开文件夹,使用Ctrl+F在Excel中查找与替换客户单号与服务商单号。这种方法虽然直观,但耗时且效率低。Python代码实现则更加自动化,通过读取Excel文件,提取「客户单号」和「服务商单号」,并根据字典进行替换。读取PDF文件名称,与Excel表中的数据进行对比,如果匹配,则修改文件名并添加「.pdf」后缀。
代码实现中,使用Pandas库读取Excel数据,os库进行文件重命名操作。首先创建PdfRenamer类,初始化方法接收Excel文件路径、PDF文件夹路径和Excel表中两列名称。读取Excel文件时,将数据存储为DataFrame,并确保数据类型转换为字符串,便于后续处理。重命名PDF文件的核心方法遍历PDF目录,比较文件名与Excel表数据,实现替换。
PdfRenamer类包含三个方法:初始化、读取Excel内容和批量重命名PDF文件。初始化方法设置数据存储属性和读取Excel文件方法,确保数据类型转换为字符串,提高后续操作的准确性。重命名PDF文件方法在读取数据后,通过循环处理目录中的每个文件,利用Excel表数据进行匹配和替换。最后,输出完成消息,确认操作成功。
在主函数中,实例化PdfRenamer类,指定Excel文件、PDF文件夹路径和表列名,调用重命名方法即可实现自动替换操作。整个代码流程清晰,自动化程度高,减少了人工操作的繁琐性,提高了效率。