日常工作中总会遇到一些需要收集文件的情况,即便在收集前千叮咛万嘱咐,告知大家文件命名规则为 “编号-项目名称”,可最后收集回来的文件,名称依旧五花八门。有的使用横杠作为分隔符,有的却用下划线;编号错误的情况时有发生,甚至连项目名称也写错,这无疑给后续的文件整理和数据分析工作带来了极大的困扰。
比如,我们有一份正确的编号和项目名称对应关系的Excel表格,内容如下:
编号 | 项目名称 |
---|---|
250211 | 苹果 |
250212 | 香蕉 |
250216 | 桃子 |
按照规范,收集到的文件命名应该是 “250211-苹果.docx”、“250212-香蕉.docx”、“250216-桃子.docx” 。但现实总是很残酷,实际收集到的文件却是 “250211_苹果.docx”(分隔符错误)、“2502122-香蕉.docx”(编号错误)、“250216-橘子.docx”(项目名称错误)。面对如此混乱的文件命名,人工逐一修改不仅耗时费力,还容易出错,这时我们急需工具进行批量重命名。Python作为强大的编程语言,能够高效解决这类问题,接下来就让我们看看如何通过Python实现批量重命名操作。
1. 需求分析
面对这些混乱的文件命名,我们需要解决以下关键问题:
- 统一分隔符: 将所有文件中不同的分隔符,如横杠、下划线等,全部替换为指定的横杠分隔符。
- 检查编号错误: 以Excel表格中的编号为基准,检查文件名中的编号是否有错误,如出现编号重复或编号不在Excel中则提醒人工检查。
- 纠正项目名称: 根据 Excel 表格中的映射关系,把错误的项目名称替换为正确的名称。
2. 安装必要库
为达成上述功能,我们会运用Python的os
库处理文件操作,re
库进行正则表达式匹配与字符串替换,pandas
库读取Excel文件中的映射关系。
在开始编写代码前,要确保已经安装了pandas
库。若未安装,可通过以下命令进行安装:
pip install pandas
3. 代码实现
import os
import re
import pandas as pd
def rename_files():# 读取 Excel 文件excel_path = '