一、使用场景
- 修改模式:原图片名称.png =》 目标图片名称.png
- 条件:目标图片名称 包含 原图片名称
- 准备工作:目标图片名称填写在excel当中,把excel放进图片文件夹内
二、代码示例
import os
import pandas as pd
import numpy as np
# 读取excel
print('读取excel……')
datas = pd.read_excel('图片文件夹名称/excel文件名称.xlsx', header=None) #这里使用相对路(excel)
data = datas.values #只读取excel中的值,不读取序号
resource = list(np.concatenate(data.reshape((-1, 1), order="F"))) #将读取的数据转换为list
print('读取成功!')
# 读取图片
print()
print('读取图片……') #这里使用相对路(图片)
folder_path = "图片文件夹名称/"
image_list = os.listdir(folder_path)
print('读取成功!')
# 批量修改
count = 0 #统计修改数量
print()
print('开始批量处理……')
for file_name in resource:
new_image_name = file_name + '.png'
for image_name in image_list:
format_image_name = ''.join([i.strip(' ') for i in image_name]) #去掉空格
if (new_image_name != format_image_name) & (new_image_name.find(format_image_name) != -1):
# 旧文件路径
old_path = os.path.join(folder_path, image_name)
# 新文件路径
new_path = os.path.join(folder_path, new_image_name)
# 修改文件名
os.rename(old_path, new_path)
# 修改数量+1
count += 1
print(str(count) + '-修改成功:' + image_name + ' => ' + new_image_name )
# 完成
print('批量修改完成:' + str(count) + '张')
运行结果:
三、说明
上面的示例只是博主根据自己的使用场景编写的代码,大家可以根据自己的实际应用场景进行修改,原理都相似。
在此列举其他可能的使用场景:
1. 如果只是单纯给原文件名 加固定的字符 or 加有规律的数据,则不需要使用excel,直接读取原图片名称后加上自己需要的字符or数据,再更改命名。
2. 如果原图片名称和目标图片名称 没有包含关系 or 完全没有关联,可以在excel表中建立一一对应的关系,再进行修改。