Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >将excel中单元格的数据给图片命名(按学籍给图片重命名)

将excel中单元格的数据给图片命名(按学籍给图片重命名)

作者头像
逍遥子大表哥
发布于 2021-12-19 03:45:44
发布于 2021-12-19 03:45:44
4.2K02
代码可运行
举报
文章被收录于专栏:kali blogkali blog
运行总次数:2
代码可运行

前言

在学籍管理中,我们导出学籍后(姓名 学籍号 身份证号)等常用的信息。如何按照学籍信息和对应学生的照片进行命名呢?

首先来看看效果

如上,假设我们根据学籍信息(由A-Z排序),拍摄学生照片。如何将excel中对应的学生姓名和学号与对应的学生匹配并重命名呢?

最终实现的效果

问题解决难点

将excel中数据和图片一一对应是关键。故要求我们在拍摄照片时需按照学生姓名(由A-Z排序)进行拍摄。不然数据可能无法一一对应。

实现方案

01对拍摄的所有文件批量重命名

因为照相设备的不同,拷贝出来相片的命名方式是不同的。

如上,按照学生姓名(由A-Z排序)后,给学生拍照。

将所有图片进行批量重命名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os

class BatchRename():

    def __init__(self):
        self.path = '/root/photo/photo1/'

    def rename(self):
        filelist = os.listdir(self.path)
        filelist.sort()
        total_num = len(filelist)
        i = 0
        for item in filelist:
            if item.endswith('.jpg'):
                src = os.path.join(os.path.abspath(self.path), item)
                s = str(i)
                s = s.zfill(3)
                dst = os.path.join(os.path.abspath(self.path), s + '.jpg')

                try:
                    os.rename(src, dst)
                    print ('converting %s to %s ...' % (src, dst))
                    i = i + 1
                except:
                    continue
        print ('total %d to rename & converted %d jpg' % (total_num, i))


if __name__ == '__main__':
    demo = BatchRename()
    demo.rename()

效果如下:

部分代码解读

self.path = '/root/photo/photo1/' 相片文件的位置

s = s.zfill(3) 文件名位数,这里是3位,即xxx.jpg

02匹配excel中数据进行重命名操作

代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# encoding: utf-8
import os
import xlrd
count = 1 
path = "/root/photo/photo1/" #文件所在文件夹
expath = "/root/photo/info.xlsx"#名单所在文件夹
x1 = xlrd.open_workbook(expath)#读取excel
sheet1 = x1.sheet_by_name("Sheet1")#读取sheet1
idlist = sheet1.col_values(0)#存放第一列
xylist = sheet1.col_values(1)#存放第二列
filelist = os.listdir(path)#读取文件目录
filelist.sort(key=lambda x:int(x[:-4]))
for files in filelist:#遍历文件目录
    Olddir = os.path.join(path,files)#旧的文件位置
    #os.renames(Olddir,os.path.join(path,str(xylist[count]+".jpg"))#新的文件位置
    os.rename(Olddir,os.path.join(path,str(idlist[count])+str(xylist[count])+".jpg"))
    count = count + 1    

部分代码解读

filelist.sort(key=lambda x:int(x[:-4]))解决os.listdir()乱排序问题,-4按照前4位进行排序,防止乱序。

运行效果

方案二

利用批处理实现(适用于没有python环境的用户)

首先将图片批量重命名,然后将图片名称放到excel中。

在批处理中输入公式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
="ren "&E2&".jpg "&A2&B2&".jpg"

E2为原图片名称所在单元格

将结果复制出来,在txt中另存为bat文件,注意编码格式为ANSI不然汉字会乱码。

运行效果

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1921464

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python批量修改文件名,文件再多也只要一秒,省时又不闹心
对于电脑中的文件夹啊,我们那是新建一个又一个啊,有时候,我们整理资料的时候就会发现,文件夹那是一个杂乱无章,
全栈程序员站长
2022/11/17
6100
Python批量修改文件名,文件再多也只要一秒,省时又不闹心
python批量重命名图片序号_python实现图片文件批量重命名「建议收藏」
本文实例为大家分享了python实现文件批量重命名的具体代码,供大家参考,具体内容如下
全栈程序员站长
2022/10/03
7830
图片批量重命名(python实现)「建议收藏」
自己在采集数据时,有时候的数据命名方式并不满足一些开源程序的条件,如果我们可以自己随意去改变图像的命名,问题 就变得很容易解决;
全栈程序员站长
2022/10/04
1K0
图片批量重命名(python实现)「建议收藏」
花式照片墙
观众老爷们,小李今天给大家展示一下我“精湛”的厨艺。如题所示,花式照片墙这道小菜马上给大家端上来,大家吃好喝好。
老肥码码码
2020/01/17
1.4K0
花式照片墙
文件夹里的图片批量重命名_python批量修改文件名
在ubuntu下直接新建一个rename.py,然后,将上述代码复制进去,保存,然后在rename.py 目录下,运行输入命令:
全栈程序员站长
2022/10/04
2.2K0
文件夹里的图片批量重命名_python批量修改文件名
使用Python实现批量更改文件夹下图片的名称
前几天在Python白银交流群有个叫【belongs】的粉丝问了一个使用Python实现批量更改文件夹下图片的名称的问题,如下图所示。
前端皮皮
2022/08/17
3K0
使用Python实现批量更改文件夹下图片的名称
如何批量获取excel的图片并准确命名?
当有一张如下图所示的excel表,一列是图片,另一列是图片对应的名称(如型号)。如何把里面的图片批量下载下来并按对应列的单元格命名呢?
btharp
2021/08/31
4.1K1
Labelimg制作数据集「建议收藏」
下载地址:https://github.com/tzutalin/labelImg
全栈程序员站长
2022/07/05
9640
Labelimg制作数据集「建议收藏」
Python—OpenCV创建级联文件(Windows7/10环境)
3、生成路径,将正样本集的路径要存成 *.vec格式;负样本集的路径不做要求,*.txt就可以;
不脱发的程序猿
2021/01/20
6590
python 6行代码搞定图片批量重命名「建议收藏」
如下图所示,为f1。 读取’花.xlsx’文件,以整型的形式读取’nama’,以文本的形式读取’rename’。
全栈程序员站长
2022/10/04
1.2K0
python 6行代码搞定图片批量重命名「建议收藏」
你真的会整理文件吗(FindDupFile去重+Python批量重命名)
作为一名业余插画狮,平时会有收集素材的习惯,随着收集的素材越来越多,整理起来就会比较麻烦,对于强迫症来说更是聒噪。
测试蔡坨坨
2022/12/21
9260
你真的会整理文件吗(FindDupFile去重+Python批量重命名)
python解析照片拍摄时间整理图片
手机中拍摄照的照片和视频快爆了,想转移到PC端,并按时间建立文件夹存储到电脑中,本文主要介绍如何通过python获取手机拍摄图片的时间信息并存储。
languageX
2022/07/14
2K0
【5分钟实战】一键搞定照片管理难题!CodeBuddy智能批量重命名让你的图片库井井有条
你是否曾经面对过这样的情况:手机里数百张照片杂乱无章,电脑中的项目素材命名混乱,找一张特定的图片要翻找半天?在数字资产日益增长的今天,高效的文件管理已经成为提升工作效率的关键因素。
全栈若城
2025/05/24
1950
AI神助攻!小白也能制作自动重命名工具~
我们平时从网上下载一些文件,文件名很多都是一大串字母和数字,不打开看看,根本不知道里面是什么内容。
zhanyd
2024/05/08
2500
AI神助攻!小白也能制作自动重命名工具~
用Python批量重命名文件
案例:小明有一天接了一个任务,需要将某个文件夹下的数百个文件进行批量重命名,他感觉手动一个一个去修改文件名太麻烦了,于是就用Python写了个脚本来帮他完成这个任务。
唯一Chat
2023/09/21
6840
python文件常用操作
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/77677856
bear_fish
2018/09/14
5650
python文件常用操作
python3批量为文件重命名
为什么使用python批量重命名而没有使用shell,python对文字的处理更灵活,对于文件名中的空格不会出现报错。
py3study
2020/01/06
5970
零代码编程:用ChatGPT对Excel文件批量重命名
文件夹下面有几百个Excel文件,希望去掉开头的“【企查查】专利-”,去掉结尾的电话,然后在后面统一加上“发明专利列表”这几个字。
AIGC部落
2024/06/24
1310
零代码编程:用ChatGPT对Excel文件批量重命名
零代码编程:用ChatGPT根据excel表格数据来批量修改文件标题名
现在,希望根据Excel表格中的标题名来对文件夹里的mp4文件进行批量重命名,在ChatGPT中输入提示词:
AIGC部落
2024/06/24
1780
零代码编程:用ChatGPT根据excel表格数据来批量修改文件标题名
爬虫 (二十一) 最完整的文件操作(值得收藏) (十二)
相信如果你慢慢把这篇文章读完,然后加以实践,你会对 python 文件操作会有很大的理解,加油看完哦
公众号---人生代码
2020/01/14
9080
推荐阅读
相关推荐
Python批量修改文件名,文件再多也只要一秒,省时又不闹心
更多 >
LV.2
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验