关于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

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年3月5日 上午11:34
下一篇 2023年3月5日 上午11:35

相关推荐