语法说明
标题文本样式列表图片链接目录代码片表格注脚注释自定义列表LaTeX 数学公式插入甘特图插入UML图插入Mermaid流程图插入Flowchart流程图插入类图快捷键
标题复制
#用python处理批量文件名的修改,腾讯文档收集到的文件#
需求解释:我从腾讯文档收集到的图片信息命名是乱的,但是会统一生成表格。于是我把表格和文件都下载了。表格第二列为我想要替换的文件名,第三列收集时默认生成图片的名字。
如图所示
// for example
just do it;
import os
import xlrd
import pandas
# 图片所在的路径
img_path = r"D:\AAAAA\附件下载_4月7日就业育人大讲堂图片收集"
# excel表路径(注意不支持.xlsx)
xlsx_path = r"D:\AAAAA\收集.xls"
# 读取excel表:批量处理测试.xlsx
xlsx1 = xlrd.open_workbook(xlsx_path)
# 读取表格里第一个sheet(工作簿)
sheet = xlsx1.sheet_by_index(0)
# 获取表格第二列数据
two_col_list = sheet.col_values(1)
# 获取表格第三列数据
three_col_list = sheet.col_values(2)
# 获取该文件夹下所有的文件(包括文件夹)
file_names = os.listdir(img_path)
for file_name in file_names:
catalog = os.path.join(img_path, file_name) # 获取所有文件的路径
if os.path.isdir(catalog): # os.path.isdir判断是不是目录;跳过目录
continue
# # 获取文件名的前18位(也就是获取身份证号码)
# id = file_name[:18]
if file_name in three_col_list:
# 获取表格第三列中,相应文件名对应的学号姓名
index = three_col_list.index(file_name, 0 ,len(three_col_list))
corresponding = two_col_list[index]
# 将文件名更新为学号 姓名
# new_file_name = str(int(corresponding)) + file_name[18:22]
new_file_name = corresponding
# 重命名
os.renames(os.path.join(img_path, file_name), os.path.join(img_path, new_file_name) + '.jpg')
跑完程序以后,之前所有的图片都以第三列的文件名命名,现在变成了第二列,且是一一对应的关系,也就是第三列一定对应着第二列。。