关于xlrd.biffh.XLRDError: Excel xlsx file; not supported的解决方法
问题描述
在做机器学习实验时,需要将一月入库信息表.xlsx等文件读入作为数据集,在运行代码:
import xlrd import xlwt from xlutils.copy import copy xlsx = xlrd.open_workbook(r'C:\Users\26436\Desktop\一月入库信息表.xls') table = xlsx.sheet_by_index(0) all_data = [] for i in range(1, table.nrows): # 从excel第2行到最后一行遍历 company = table.cell_value(i, 1) price = table.cell_value(i, 2) weight = table.cell_value(i, 3) data = {'公司': company, '价格': price, '重量': weight} all_data.append(data) # 将数据以字典的形式保存 print(all_data)
有一行代码出现了问题:
xlsx = xlrd.open_workbook(r'C:\Users\26436\Desktop\一月入库信息表.xls')
发生错误,报错信息如下:
报错信息:xlrd.biffh.XLRDError: Excel xlsx file; not supported
报错原因
查询xlrd的版本,发现已经是1.2.0,则换位第二步
在terminal中输入代码:pip list
xlrd包的版本过高(2.0.1),不支持xlsx格式,只支持xls格式。
解决方法
一、调低xlrd版本
xlrd过高,卸载旧版本重新安装1.2.0
1、打开terminal
2、卸载现在的版本 pip uninstall xlrd
3、安装低本班xlrd:pip install xlrd==1.2.0
二、调低excel版本
excel文件的版本过高,复制源文件,另存为:xls格式
1、在报错的excel文件所在的文件夹里可以新建一个excel文件,将文件格式设置成Excel97―2003工作薄(.xls),不能设置成WPS加密文档格式(*xls)格式,名称必须为:new.xls(名称可以自定义,后缀必须一致,而且必须用office/wps创建,如果名称后缀与原excel一致,保存时需要替换原文件,切记不能自己新建一个文件,然后修改后缀)
2、把报错文件的数据,复制到new.xls文章来源:https://www.toymoban.com/news/detail-400647.html
文章来源地址https://www.toymoban.com/news/detail-400647.html
到了这里,关于关于xlrd.biffh.XLRDError: Excel xlsx file; not supported报错问题的两种解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!