问题描述:一个文件夹中含有多张图片,现需要根据Excel表中的多个图片名称,从这个文件夹中找出来,并移动另一个文件夹中。在这里使用python来写,很快速,可以直接移动过去,也可复制过去(不改变源文件夹中图片的数量)。
import xlrd
import os
import shutil
# 打开文件
data = xlrd.open_workbook('C:/Users/zll/Desktop/新建文件夹/demo.xlsx')
# 查看工作表
data.sheet_names()
# print("sheets:" + str(data.sheet_names()))
# 通过文件名获得工作表,获取工作表1
table = data.sheet_by_name('Sheet1')
# 打印data.sheet_names()可发现,返回的值为一个列表,通过对列表索引操作获得工作表1
# table = data.sheet_by_index(0)
# 获取行数和列数
# 行数:table.nrows
# 列数:table.ncols
print("总行数:" + str(table.nrows))
print("总列数:" + str(table.ncols))
# 获取整行的值 和整列的值,返回的结果为数组
# 整行值:table.row_values(start,end)
# 整列值:table.col_values(start,end)
# 参数 start 为从第几个开始打印,
# end为打印到那个位置结束,默认为none
# print("整行值:" + str(table.row_values(0)))
print("整列值:" + str(table.col_values(0)))
aa = []
aa = table.col_values(0)
#存放的位置
path_img='C:\\Users\\zll\\Desktop\\新建文件夹\\1'
ls = os.listdir(path_img)
# print(len(ls))
p = len(aa)
for i in ls:
for j in range(p):
if i.find(aa[j])!=-1:
#shutil.move(path_img+'/'+i,"C:/Users/zll/Desktop/新建文件夹/yidong/"+i)
shutil.copy(path_img+'/'+i,"C:/Users/zll/Desktop/新建文件夹/yidong/"+i)