编码 - python读取excel数据出错
怪我咯
怪我咯 2017-04-17 11:31:45
[Python讨论组]

比如说我要读取 http://basic.10jqka.com.cn/600383/xls/Important_declaredate.xls
的数据信息,用的是xlrd程序包。

import xlrd

xls= 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'

为什么会出现错误?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
黄舟

自己各种尝试,发现是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文件格式的错误。

PHP中文网

楼主,你好。我也遇到了和你相同的问题。
请问这个问题后来你解决了吗?如何解决的?

天蓬老师

公式,名称管理器里有东西,都删完的话就正常了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号