顺德建设行政主管部门网站,上海企业服务云代表啥,怎样做好手机网站建设,广州网站设计联系方式背景说明 接了一个需求#xff0c;需要将批量图片按照指定的需求进行重命名#xff0c;本来的图片是以身份证号进行命名的.jpg文件#xff0c;现在需要统一命名为班级姓名身份证号.png格式的文件。其中#xff0c;用户提供了一张导出的excel数据表(data.xlsx)#xff0c;数…背景说明 接了一个需求需要将批量图片按照指定的需求进行重命名本来的图片是以身份证号进行命名的.jpg文件现在需要统一命名为班级姓名身份证号.png格式的文件。其中用户提供了一张导出的excel数据表(data.xlsx)数据表对应的信息有四列分别是班级、序号、姓名和身份证号。
分析 考虑使用python中的excel相关的操作函数对数据进行处理然后结合相关的操作来完成。
python获取excel中的行列信息
# -*- coding: utf-8 -*-Created on Fri Sep 17 20:23:57 2021author: 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 2021author: 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:continueif __name__ __main__:path ./imgdemo BatchRename(path)demo.rename()