报错

xlrd.biffh.XLRDError: Excel xlsx file; not supported

FileNotFoundError: [Errno 2] No such file or directory: 'test.xlsx'

问题描述

想尝试用open—workbook方法打开test.xlsx文件,但是文件明明存在,运行是就是显示文件不存在。

可能原因

1、xlrd无法识别xlsx文件,有人说xlrd最新版本不支持xlsx文件,将版本回退即可。

2、将文件的相对路径改成绝对路径。

如下是尝试解决问题的过程:

1、查看当前xlrd的版本:pip show xlrd

2、将xlrd版本回退到1.2.0版本 pip install xlrd==1.2.0

 3、问题仍未解决,尝试将相对路径改为绝对路径,运行成功

 

源码

import xlrd

file_name = r'C:\Users\86159\PycharmProjects\pytest\xlrd_test\info.xlsx'
sheet_name = 'Sheet1'
book = xlrd.open_workbook(file_name)
sh1 = book.sheet_by_name(sheet_name)
rows = sh1.nrows
cols = sh1.ncols
print('行数:{},列数:{}'.format(rows, cols))
row1 = sh1.row_values(0)
print('输出表格中的第一列:', row1)
col1 = sh1.col_values(0)
print('输出表格中的第一行', col1)
a1 = sh1.cell(0, 2)
print('输出表格中的a2单元格内容', a1.value)
# 输出每行内容
for i in range(sh1.nrows):
    print(sh1.row_values(i))

运行结果

行数:5,列数:3
输出表格中的第一列: ['姓名', '年龄', '学号']
输出表格中的第一行 ['姓名', '张三', '李四', '阿西吧', '法外狂徒']
输出表格中的a2单元格内容 学号
['姓名', '年龄', '学号']
['张三', 20.0, 20198888.0]
['李四', 20.0, 20197777.0]
['阿西吧', 20.0, 20192222.0]
['法外狂徒', 20.0, 20198822.0]

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐