根据excel中的数据信息批量修改图片名称
2023-12-20 22:45:46
背景说明
????????接了一个需求,需要将批量图片按照指定的需求进行重命名,本来的图片是以身份证号进行命名的.jpg文件,现在需要统一命名为班级+姓名+身份证号.png格式的文件。其中,用户提供了一张导出的excel数据表(data.xlsx),数据表对应的信息有四列,分别是班级、序号、姓名和身份证号。
分析
????????考虑使用python中的excel相关的操作函数对数据进行处理,然后结合相关的操作来完成。
python获取excel中的行列信息
# -*- coding: utf-8 -*-
"""
Created on Fri Sep 17 20:23:57 2021
@author: Pegasus
"""
import xlrd
book = xlrd.open_workbook('data.xls')
sheet1 = book.sheets()[0]
nrows = sheet1.nrows
ncols = sheet1.ncols
d={}
for i in range(nrows):
d[sheet1.row_values(i)[3]]=sheet1.row_values(i)[2]
row3_values = sheet1.row_values(2)
print('第3行值',row3_values)
col3_values = sheet1.col_values(2)
print('第3列值',col3_values)
cell_3_3 = sheet1.cell(2,2).value
print('第3行第3列的单元格的值:',cell_3_3)
示例演示
示例内容
# -*- coding: utf-8 -*-
"""
Created on Fri Sep 17 20:10:42 2021
@author: Pegasus
"""
import os
import xlrd
book = xlrd.open_workbook('data.xls')
sheet1 = book.sheets()[0]
nrows = sheet1.nrows
d={}
for i in range(nrows):
d[sheet1.row_values(i)[3]]=sheet1.row_values(i)[2]
class BatchRename():
def __init__(self, path):
self.path = path
def rename(self):
filelist = os.listdir(self.path)
for item in filelist:
ID = item.split('.')[0]
name = d[ID]
if item.endswith('.jpg'):
src = os.path.join(os.path.abspath(self.path), item)
print('src',src)
dst = os.path.join(os.path.abspath(self.path), '' + name+'-'+ID + '.png')
try:
os.rename(src, dst)
print('converting %s to %s ...' % (src, dst))
except:
continue
if __name__ == '__main__':
path = './img'
demo = BatchRename(path)
demo.rename()
文章来源:https://blog.csdn.net/mzl_18353516147/article/details/135117553
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!