解决方法 经过查阅资料,发现xlrd库有更新,官网(https://pypi.org/project/xlrd)显示最新版的xlrd(2.0.1)的确不支持,但老版的xlrd(1.2.0)是支持xlsx的。
另外有人从xlrd 1.2.0重新弄了一个新的xlrd,叫xlrd3(https://pypi.org/project/xlrd3)。修改了一些bug,并增加了新功能。
所以,读xlsx有三种方法:
一、降低xlrd的版本,用1.2.0
二、用xlrd3
三、用OpenPyXL
一个例子
以第二种方法为例,有下图的xlsx文件:
python脚本:
import xlrd3 as xlrd
book = xlrd.open_workbook('test.xlsx')
sheet0 = book.sheet_by_index(0)
for row in range(2):
for col in range(3):
print(sheet0.cell(row, col).value, end=' ')
print('')
运行结果与excel内容一致: