关于xlrd.biffh.XLRDError: Excel xlsx file; not supported报错问题的两种解决方案

关于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.biffh.XLRDError: Excel xlsx file; not supported

报错原因

查询xlrd的版本,发现已经是1.2.0,则换位第二步

在terminal中输入代码:pip list

关于xlrd.biffh.XLRDError: Excel xlsx file; not supported报错问题的两种解决方案

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.net2asp.com/b764ed5f0e.html