python 實現讀取.xls表格裏的圖片名稱去存放圖片的文件內進行過濾,並把名稱對應上的圖片拷貝到指定的文件夾內

腳本功能實現說明:

實現讀取.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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章