1. 程式人生 > >使用Python通過xlrd處理excel實戰

使用Python通過xlrd處理excel實戰

python excel xlrd

項目需求:


通過指定excel文件,文件格式如下:

技術分享

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

實現代碼如下:


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

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

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

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


if __name__ == "__main__":
    data = xlrd.open_workbook(r"D:\images.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])                 #創建各供應商目錄
        imagesclass = rows[0] + "\\" + rows[2]  #獲取證件類型
        dir(dir_name = imagesclass)             #創建供應商目錄下子目錄,各證件類型
        url = r"http://" + rows[3]
        imagename = rows[0] + "\\" + rows[2] + "\\" + url.split("/")[-1]    	#指定圖片保存的位置與名稱
        saveImage(imagename, url)


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


本文出自 “藍色_風暴” 博客,請務必保留此出處http://270142877.blog.51cto.com/12869137/1940974

使用Python通過xlrd處理excel實戰