python读取excel数据出错
比如说我要读取
http://basic.10jqka.com.cn/600383/xls/Important_declaredate.xls
的数据信息,用的是xlrd程序包。
import xlrdxls= xlrd.open_workbook('Important_declaredate.xls',encoding_override='utf-8')
table=xls.sheets()[0]
print table
程序debug错误信息:
File "/Volumes/MacHD/work/stock/main.py", line 20, in main xls= xlrd.open_workbook('Important_declaredate.xls',encoding_override='utf-8')
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/xlrd/__init__.py", line 435, in open_workbook
ragged_rows=ragged_rows,
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/xlrd/book.py", line 91, in open_workbook_xls
biff_version = bk.getbof(XL_WORKBOOK_GLOBALS)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/xlrd/book.py", line 1258, in getbof
bof_error('Expected BOF record; found %r' % self.mem[savpos:savpos+8])
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/xlrd/book.py", line 1252, in bof_error
raise XLRDError('Unsupported format, or corrupt file: ' + msg)
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '\xd6\xb8\xb1\xea\\\xc8\xd5\xc6'
为什么会出现错误?
回答:
自己各种尝试,发现是xls文件的错误,不知道内部的内容的编码有错误。
file="Important_declaredate.xls"f = open(file, 'rb')
lines = f.readlines()
for line in lines:
line = line.decode('gb2312').encode('utf8')
print line
有些时候多引用第三方程序,反而造成不必要的麻烦。有可能是对应的xls文件格式的错误。
回答:
楼主,你好。我也遇到了和你相同的问题。
请问这个问题后来你解决了吗?如何解决的?
回答:
公式,名称管理器里有东西,都删完的话就正常了。
回答:
查看一下对应的xls是否损坏,或者是否为xls文件,有可能只是后缀名为表格,内容实际上为json。
回答:
楼主,您好。
请问这个问题后来你解决了吗?如何解决的?
我的是用office2016打开会报错,
: 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?
点是才可以打开
xlrd.open_workbook('a.xls')提示错误:
`
raise XLRDError('Unsupported format, or corrupt file: ' + msg)
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'idtxb2xfaxc6xb7xc3'
`
回答:
我刚刚遇到了这个问题,最后发现没什么,原来是我在这些文件里还打开了别的不是xls类型的文件……这个库是支持中文的。
回答:
另存为97格式
以上是 python读取excel数据出错 的全部内容, 来源链接: utcz.com/a/164333.html