共计 783 个字符,预计需要花费 2 分钟才能阅读完成。
工作当中,遇到这么一个需求,数据后台导出了一份表格,外加一个文件包,表格是文件列表,文件包是具体的数据文件(这些文件命名都是随机的加密命名),举例如下:
以上是个简单的案例,实际数据是上千上万条不同的记录,然后需要将文件名都按手机号重命名一下,这个时候,可犯难了,看到同事们三四个人,平均分配了任务,打算花大半天时间去挨个复制粘贴修改。
此时我们可以借助 python 自动化处理这个问题,从编写代码到执行任务,也就不到五分钟的事:
首先,我们需要借助两个库:
import os
import xlrd
os 库是常用的系统操作库,我们用来操作修改文件名。
xlrd 是用来读取表格数据的
接下来梳理一下执行思路:
首先从 excel 表格读取手机号和原文件名的名称,然后再用 os 来操作重命名动作
直接上代码:
import os
import xlrd
# 指定表格文件
data = xlrd.open_workbook('demo.xlsx')
# 设置 sheet 表
sheet = data.sheet_by_name("sheet1")
# 读取数据信息
mobile = sheet.col_values(2)
filelist = sheet.col_values(3)
n = 0
s = 0
for i in filelist:
# 定义文件包存放位置
mulu = './image/
# n 为 0 时候,读取的是表头内容,如果有表头的话,直接跳过,不做任何操作
if n== 0:
filepath = ''
else:
filepath = mulu + i
# 避免出错,先判断一下这个文件是不是存在
if os.path.exists(filepath):
# 进行重命名
s+=1
os.rename(filepath, mulu + str(int(mobile[n])) + '.jpg')
else:
print(filepath + '不存在')
n+=1
print('成功'+ str(s))
搞定,收工!
正文完
加入官方交流QQ群:778957856