python的xlrd读取Excel数据失败: raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported') xlrd.biffh.XLRDError: Excel xlsx file; not supported

使用xlrd读取Excel的xlsx格式表格里的数据,读取失败,报错:

raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported

原因,xlrd为2.0.1版本,更新版本后,xlrd不支持xlsx格式数据的读取了,果断减低版本

先卸载2.0.1版本,再指定安装1.2.0版本

 

xcel 实现图片批量下载

一、操作环境

操作系统:Windows 10 家庭版 64 位

Python 版本:Python 3.7.0

 

二、操作步骤

首先,我们有下面这样一个 Excel 表格,其中第三列是图片的 URL 地址:

图 1 要操作的表格

 

代码如下:

import xlrd
import requests
a = xlrd.open_workbook('1.xlsx','r') #打开.xlsx文件
sht = a.sheets()[0] #打开表格中第一个sheet
row1 = sht.row_values(0)
 
#设置要下载的图片的范围,对应于 Excel 中的行数
start = 0
end = 100
 
for i in range(start,end):
url = sht.cell(i,2).value #依次读取每行第三列的数据,也就是 URL
f = requests.get(url)
 
ii = str(i) #按照下载顺序(行号)构造文件名
 
url2 = url[-3:] #根据链接地址获取文件后缀,后缀有.jpg 和 .gif 两种
 
dir = ii + "." + url2 #构造完整文件名称
 
with open(dir,"wb") as code:
code.write(f.content) #保存文件
print(url) #打印当前的 URL
 
jindu = (i - start) / (end - start) * 100 #计算下载进度
print("下载进度:",jindu,"%") #显示下载进度
 
posted @ 2024-02-17 18:04  linyinmobayu  阅读(284)  评论(0编辑  收藏  举报