前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python通过xlrd处理excel

使用Python通过xlrd处理excel

作者头像
py3study
发布2020-01-07 17:23:43
5660
发布2020-01-07 17:23:43
举报
文章被收录于专栏:python3python3

项目需求:

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

wKioL1lLdQzz5D2vAADF2-4rk2Q251.png-wh_50
wKioL1lLdQzz5D2vAADF2-4rk2Q251.png-wh_50

    要求下载第四列URL中的图片,图片保存名称为,url中的名称,每个公司需要单独建立一个独立的文件夹,公司下面会有不同类型的图片,不同类型的图片也需要不同的文件夹保存,最终将图片保存到指定公司,指定的类型下面   

实现代码如下:

代码语言:javascript
复制
"""
从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)

代码中模块下载与安装部分请查询其它相关资料

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档