python 求助
import xlrd
xlsx = xlrd.open_workbook_xls("d:/1231.xlsx")
table = xlsx.sheet_by_index(0)
print(table.cell_value(1, 5))
执行运行后报错"D:\Program Files\python.exe" D:/python项目/test.py
Traceback (most recent call last):
File "D:/python项目/test.py", line 2, in <module>
xlsx = xlrd.open_workbook_xls("d:/1231.xlsx")
File "D:\Program Files\lib\site-packages\xlrd\book.py", line 79, in open_workbook_xls
biff_version = bk.getbof(XL_WORKBOOK_GLOBALS)
File "D:\Program Files\lib\site-packages\xlrd\book.py", line 1284, in getbof
bof_error('Expected BOF record; found %r' % self.mem)
File "D:\Program Files\lib\site-packages\xlrd\book.py", line 1278, in bof_error
raise XLRDError('Unsupported format, or corrupt file: ' + msg)
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'PK\x03\x04\n\x00\x00\x00',那位指点下,
读取文件的位置写的不对 本帖最后由 hrh123 于 2023-9-29 16:25 编辑
有些版本的xlrd只能打开xls不能打开xlsx的文件(没记错的话)
尝试改变文件格式或换库 谢谢,我文件改下看看
[ 本帖最后由 qq499414099 于 2023-9-29 16:26 编辑 ]\n\n文件格式不受支持或者文件损坏,先自己打开文件试一试能否正常打开,如果不能打开,就是文件损坏了,如果能打开,试试用另外一个支持库试试
import openpyxl
workbook = openpyxl.load_workbook("d:/1231.xlsx")
sheet = workbook.active
value = sheet.cell(row=1, column=5).value
print(value) 文件格式我换成xls 得了,还是一样,文件目录地址没有错的 方法一:使用openpyxl模块代替xlrd模块来打开.xlsx格式的文件。openpyxl模块可以处理.xlsx格式和.xlsm格式的文件。
import openpyxl
xlsx = openpyxl.load_workbook("d:/1231.xlsx")
table = xlsx["Sheet1"]
print(table.cell(1, 5).value)
方法二:将您的.xlsx格式的文件另存为.xls格式的文件,然后再用xlrd模块打开它 文件正常可以打开的,文件格式也该了还是不行,换成另外一个什么库呢 mgl0919 发表于 2023-9-29 16:25
方法一:使用openpyxl模块代替xlrd模块来打开.xlsx格式的文件。openpyxl模块可以处理.xlsx格式和.xlsm格式 ...
谢谢,我试试看看 本帖最后由 hrh123 于 2023-9-29 16:31 编辑
andjoy 发表于 2023-9-29 16:24
文件格式我换成xls 得了,还是一样,文件目录地址没有错的
你确定你在正常的软件如office中可以正常打开?没有什么"文件已损坏"的提示?
以及尝试更新你的xlrd版本