腳本功能實現說明:
實現讀取.xls表格裏的圖片名稱去存放圖片的文件內進行過濾,並把名稱對應上的圖片拷貝到指定的文件夾內
腳本與註釋如下:
# -*- coding:utf-8 -*- ''' 腳本說明: 依據xls表格裏的圖片名稱去存放圖片的文件內進行過濾,並把名稱對應上的圖片拷貝到指定的文件夾內 ''' import xlrd import os import shutil import datetime starttime=datetime.datetime.now() img_path="D:/TestData/FuQing/60/" #讀存放原圖片文件的路徑 img_name = os.listdir(img_path) # 得到文件夾下的所有文件名稱 # print(img_name) fileName="D:/TestData/FuQing/report_test.xls" #報告所在位置 bk=xlrd.open_workbook(fileName) #打開報告 shxrange=range(bk.nsheets) #計算表裏sheet的總長度 try: sh=bk.sheet_by_name("report") #指定表裏想要讀取的sheet的名字report except: print "未找到指定表" nrows=sh.nrows #獲取報告內數據總行數 # print(nrows) os.mkdir("D:/TestData/FuQing/OutImg/") #創建一個文件夾OutImg,存放想要拷貝的圖片 for i in range(1,nrows): #循環讀表裏數據,1是從表內第二行開始,nrows是指剛纔讀取的最大行數,將讀取的行數傳給i row_data=sh.row_values(i) #讀取i行對應的值 name=str(row_data[0]) #讀取上行讀取的值的第一個值,就是圖片的名字 for j in img_name: #將讀取的圖片的名字循環賦值給j print(j) print(name) if name==j: #判斷報告裏的圖片名字是否和提取的圖片名字能對應上 outimg="D:/TestData/FuQing/OutImg/" #圖片存儲路徑 shutil.copy(os.path.join(img_path, name), os.path.join(outimg)) #將名稱匹配上的圖片拷貝到新建的文件夾內 else: print('----------------------------------') i=i+1 endtime=datetime.datetime.now() time=(endtime - starttime).seconds print (starttime) print (endtime) print (time)