目录

背景

数据格式

处理步骤

1.使用xlrd读取excel表格数据

2.详细代码

①引入相关库

②实例代码


背景

导出数据到excel,数据中有图片,需求是批量下载图片的指定文件夹

数据格式

数据类型有直接是文本,也有显示图片,存在多张图片的情况,需要做的是批量获取Json格式数据中的pic,并进行下载

处理步骤

1.使用xlrd读取excel表格数据

pip install xlrd

注:高版本的xlrd目前去除了xlsx格式的支持,支持xls格式

目前使用有两种方式

1.删除高版本,重装xlrd

xlrd.biffh.XLRDError: Excel xlsx file; not supportedpip install xlrd==1.2.0

2.打开xlsx文件,另存为xls格式

2.详细代码

①引入相关库

import xlrd
import requests
import json

②实例代码

# 读取excel
read_path = r"xx\xx.xls"  # excel文件路径
bk = xlrd.open_workbook(read_path)# 获取所有sheet,取第1个sheet页,如果有多个sheet也可以使用sheet_by_name()方法
try:sh = bk.sheets()[0]
except:print("no sheet in %s" % read_path)# 获取表中的总行数
nrows = sh.nrows
print("nrows:", nrows)# 由于数据存在文本和json格式数据,需要先进行判断
# 判断是否是json格式数据
def is_json(msg):if isinstance(msg, str):  # 判断是否是字符串try:json.loads(msg)except ValueError:return Falsereturn Trueelse:return False# 表中第一行有标题,需要从第2行开始
for i in range(1, nrows):# print("下载第 %d 个图片" % i)picList = []  # 定义存放图片的list# 读取C列数据C_name = sh.cell_value(i, 2)print('C_name: ', C_name)# 读取D列数据  excel表中存在一行有多个图片情况,使用“;”对数据进行分隔,分别拿到每一个json格式数据D_name = sh.cell_value(i, 3).split(";")print('D_name: ', D_name)# 循环获取所有的jsonfor d_value in D_name:print('d_value:', d_value)if is_json(d_value):# 先对json进行判断picList = json.loads(d_value)['pic'] # 如果是json数据就直接取pic里的值if len(picList):  # 为空不打印print("picList:", picList)# 循环取出图片地址 使用enumerate获取每个图片下标for j, picUrl in enumerate(picList):# 根据URL下载到本地f = requests.get(picUrl)# 需要先创建文件夹pic_name = r"D:\xxx\Downloads\文件夹\\" + C_name + "_" + str(j + 1) + ".png"  # 构造完整文件路径+名称with open(pic_name, "wb") as code:code.write(f.content)

Python批量下载excel表中超链接图片相关推荐

  1. Python批量提取Excel文件中的图片

    推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年7月第9次印刷,山东省一流本科 ...

  2. python怎么批量下载年报_使用Python批量下载Wind数据库中的PDF报告

    原标题:使用Python批量下载Wind数据库中的PDF报告 背景 最近小编出于工作需要,准备在Wind金融数据终端批量下载上市公司2019年第一季度业绩预告.通过相关的条件检索,发现其相关数据有近百 ...

  3. python批量翻译excel表格中的英文

    python批量翻译excel表格中的英文 需求背景 主要设计 分析 具体实现 表格操作 请求百度翻译api 多线程 控制台显示进度 完整源码 需求背景 女朋友的论文需要爬取YouTube视频热评,但 ...

  4. Python工具源码,Python批量提取PPT文件中的图片

    在办公场景当中,同样也有这样一个需求,那就是快速批量把PPT文件中的图片提取出来,毕竟一个个点击另存为太过于繁琐,以及耗费时间,前面本渣渣分享过如何应用Python批量提取PDF文件中的图片,而这一篇 ...

  5. 如何用迅雷下载python_用Python调用迅雷批量下载excel表内的链接,并同时对文件重命名(使用的是openpyxl)...

    #首先把文件名放在excel表中的第一列,把对应的链接地址放在第二列 #为什么要用迅雷来下载,因为可以加速啊 #为什么你有这些链接啊,因为我用了八爪鱼爬虫啊 #为什么用八爪鱼爬虫啊,因为python学 ...

  6. c# excel导出png_批量导出Excel文件中的图片,用VBA代码其实很简单

    本次案例来自悟空问答网友提问,之前由于时间原因,回复比较简单没有给出具体实现方法,今天花时间整理写成图文,希望小伙伴们都可以学会.@沉默的生物钟 实际问题 一.数据模拟--素材准备 为了更加真实的还原 ...

  7. 用Python批量把EXCEL表格中的数据提交到网页上

    因为工作的需要,要在网页上添加很多学员的信息,但是公司审计不让直接导入数据库,而且开发也没有涉及批量上传的功能,只好自己动手用Python写了一个批量创建学生信息的程序. 实现思路: 我们首先看我们需 ...

  8. Python批量提取Excel文件中文本框组件里的文本

    开学第一课:拜托,一定不要这样问Python问题 中国大学MOOC"Python程序设计基础"免费学习地址 2020年秋季学期Python教材推荐与选用参考 推荐图书: <P ...

  9. Python批量导入Excel文件中的不重复数据到SQLite数据库

    封面图片:<Python可以这样学>,董付国,清华大学出版社 ============== 好消息:智慧树网APP"知到"中搜索"董付国"可以免费观 ...

最新文章

  1. 除了负载均衡,Nginx 还可以做很多:限流、缓存、黑白名单等
  2. 开始启动OPNsense的汉化工作
  3. python3.5怎么安装pip-python3.5.2安装pip管理工具
  4. python全局解释锁_Python GIL 全局解释性锁介绍
  5. nacos+openfeign服务提供和服务消费远程调用代码简单实例2
  6. python认识if语句_python初认识、基础数据类型以及 if 流程控制
  7. ECMA6--字符串/数组
  8. 先学python还是ros_ROS入门学习
  9. (PPT)Python程序设计课程教学内容组织与教学方法实践
  10. kernel oops_Java中的OOPS概念– OOPS概念示例
  11. 遍历对象键值对的两种方法
  12. Gradle下载的地址
  13. C#实现微信扫码支付
  14. 百度收录批量查询-免费百度整站批量收录查询工具
  15. c++直角空心三角形_八年级数学三角形专题知识点汇总,掌握了考满分!
  16. Java上帝类(Object类)源码总结(1)
  17. oracle密码锁屏时间,OPPO用户怎么让手机变流畅?花1分钟关闭这4个设置,瞬间变流畅...
  18. (论文阅读)NMS by Representative Region: Towards Crowded Pedestrian Detection by Proposal Pairing
  19. 计算机应用应用研究,计算机应用研究属于什么期刊_计算机应用研究_计算机研究应用...
  20. java文本区背景颜色_Java如何设置PDF文档背景色详解|chu

热门文章

  1. ie11打不开html超链接,IE11打不开网页解决方法
  2. 【办公类-16-06-02】“2022下学期 总园活动室(沙水+建构)排班表(两周一次沙水)”(python 排班表系列)
  3. 从应用的角度讲创业公司该如何选择域名?
  4. wlan已断开服务器无响应,wlan已关闭打不开啥原因
  5. SpringBoot整合WebSocket实现简易聊天室
  6. ZJOI2016一试游记
  7. JavaScriptFoundation
  8. 从一支冰棍说说景区的摊贩
  9. 华为云登录入口和方法
  10. 如何取消a标签超级链接跳转的问题