ubuntu下python导入excel出现了问题

显示:

Traceback (most recent call last):
File "2.py", line 35, in <module>
read_excel()
File "2.py", line 8, in read_excel
workbook = xlrd.open_workbook('demo.xlsx')
File "/usr/local/lib/python2.7/dist-packages/xlrd/__init__.py", line 435, in open_workbook
ragged_rows=ragged_rows,
File "/usr/local/lib/python2.7/dist-packages/xlrd/book.py", line 91, in open_workbook_xls
biff_version = bk.getbof(XL_WORKBOOK_GLOBALS)
File "/usr/local/lib/python2.7/dist-packages/xlrd/book.py", line 1230, in getbof
bof_error('Expected BOF record; found %r' % self.mem[savpos:savpos+8])
File "/usr/local/lib/python2.7/dist-packages/xlrd/book.py", line 1224, in bof_error
raise XLRDError('Unsupported format, or corrupt file: ' + msg)
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '\xe4\xb8\x9a\xe5\x8a\xa1,\xe7'

这应该是编码问题导致的,'\xe4\xb8\x9a\xe5\x8a\xa1' 对应着中文 “业务” 的  utf-8 编码。 但 xlrd 读取这个文件默认会使用 ascii 解码器,这样子上面这一段字节串就无法被正确解码。


 你试试用

workbook = xlrd.open_workbook('demo.xlsx', encoding_override="utf-8")

应该就可以了

温馨提示:答案为网友推荐,仅供参考