试用情景:某公司现在拥有文件名为各位员工姓名的大量员工信息图片,现在要将图片批量上传某个系统,系统要求命名方式为员工身份证号码才能导入
现有材料:
1、员工信息表包含身份证号码和姓名,如下图
2、以员工姓名命名的图片文件若干
3、运行环境:python运行环境
4、用到软件:jupyter
执行代码
import os
import pandas as pd
# 设置照片文件夹的路径
photo_folder = "C:/Users/fxwg/Desktop/现有材料/员工信息(图片文件)"
# 读取Excel文档,假设身份证号码在第一列,姓名在第二列
excel_file = "C:/Users/fxwg/Desktop/现有材料/员工信息.xls"
df = pd.read_excel(excel_file)
# 遍历Excel中的每一行
for index, row in df.iterrows():
# 获取姓名和对应的身份证号码
name = row['身份证号码']
id_number = str(row['姓名']) # 将身份证号码转换为字符串,以免出现类型问题
# 构造照片文件名
photo_filename = name + ".jpg" # 假设照片文件名为姓名.jpg
# 构造照片文件路径
photo_filepath = os.path.join(photo_folder, photo_filename)
# 判断照片文件是否存在
if os.path.isfile(photo_filepath):
# 构造新的文件名
new_photo_filename = id_number + ".jpg" # 新的文件名为身份证号码.jpg
# 构造新的文件路径
new_photo_filepath = os.path.join(photo_folder, new_photo_filename)
# 重命名文件
os.rename(photo_filepath, new_photo_filepath)
print(f"照片 {photo_filename} 重命名为 {new_photo_filename}")
else:
print(f"照片 {photo_filename} 不存在")
执行结果
成功!!!!