一、使用场景

  • 修改模式:原图片名称.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表中建立一一对应的关系,再进行修改。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐