根据excel内容批量修改文件名

excel中为各班级学生的信息,每个班级为一个sheet;
一级文件下有班级子文件,班级文件下为图片,即要修改名字的文件(其他文件类似)
在这里插入代码片
import os
import xlrd
count =0
first_path = "C:\\Users\\Administrator.DESKTOP-L29CIOJ\\Desktop\\班级" #文件所在文件夹
expath = "C:\\Users\\Administrator.DESKTOP-L29CIOJ\\Desktop\\学生名册.xls"#名单所在文件夹路径

x1 = xlrd.open_workbook(expath)#读取名单excel(有许多个sheet)
sheets=x1.sheet_names()#sheets为这个名单excel的sheet名字的列表
print(sheets)#打印出所有sheet名字

idlist=[]#定义一个idList列表用来存放名字
for sheet in sheets:
    print(sheet)
    print(x1.sheet_by_name(sheet).col_values(0))#打印出sheet中第一列(名字)
    idlist.extend(x1.sheet_by_name(sheet).col_values(0)) #将一个sheet中的名字添加到idlist中去

print(idlist)#打印出所有名字看看是否正确

first_list = os.listdir(first_path)#读取第一层文件目录(班级目录)
for first_files in first_list:#遍历每个班级
    #print(first_files)
    second_path = os.path.join(first_path, first_files)#每个班级的文件路径,在总路径(first_path上添加文件名就是
    #print(second_path)
    second_list = os.listdir(second_path)  # 读取每个班级文件目录

    for second_files in second_list:#遍历每个班级中的文件(即是图片)
        #print(second_files)
        pictures_path=os.path.join(second_path,second_files)#每个图片的路径
        print(pictures_path)#打印图片路径
        print(idlist[count])#打印学生名单排序

        # 改名(路径一起改,得到新的文件位置,这里路径不变
        os.renames(pictures_path, os.path.join(second_path, str(idlist[count]) + " " + ".jpg"))
        count = count +1#计数指针后移,即处理下一张图片,循环需要,懂的都都懂

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值