使用Python經過xlrd處理excel實戰

項目需求:python


    經過指定excel文件,文件格式以下:ide

    wKioL1lLdQzz5D2vAADF2-4rk2Q251.png-wh_50    

    

    要求下載第四列URL中的圖片,圖片保存名稱爲,url中的名稱,每一個公司須要單獨創建一個獨立的文件夾,公司下面會有不一樣類型的圖片,不一樣類型的圖片也須要不一樣的文件夾保存,最終將圖片保存到指定公司,指定的類型下面   url

    

實現代碼以下:excel


"""
從excel獲取url,下載指定圖片保存到指定目錄
"""

#xlrd模塊須要手工安裝,此爲處理excel模塊
import xlrd
import os
import urllib.request

def dir(dir_name="p_w_picpaths"):
    #設定圖片保存目錄,基於當前程序運行目錄
    if os.path.isdir(dir_name):
        pass
    else:
        os.mkdir(dir_name)

def saveImage(img, url):
    #保存圖片方法,須要兩個參數,一個爲圖片名,一個爲下載的url
    respones = urllib.request.urlopen(url)
    p_w_picpath = respones.read()
    with open(img, "wb") as f:
        f.write(p_w_picpath)


if __name__ == "__main__":
    data = xlrd.open_workbook(r"D:\p_w_picpaths.xls")     #打開指定文件
    table = data.sheet_by_name(u"Sheet 1")          #選擇工做薄
    nrows = table.nrows                             #獲取行數

    for i in range(1410,1425):
        """
        可經過if判斷只下載特定行圖片,或者修改以上括號數字爲從n到n
        """
        rows = table.row_values(i)
        dir(dir_name = rows[0])                 #建立各供應商目錄
        p_w_picpathsclass = rows[0] + "\\" + rows[2]  #獲取證件類型
        dir(dir_name = p_w_picpathsclass)             #建立供應商目錄下子目錄,各證件類型
        url = r"http://" + rows[3]
        p_w_picpathname = rows[0] + "\\" + rows[2] + "\\" + url.split("/")[-1]    	#指定圖片保存的位置與名稱
        saveImage(p_w_picpathname, url)


代碼中模塊下載與安裝部分請查詢其它相關資料blog

相關文章
相關標籤/搜索