Python xlrd读取excel异常处理


python:3.5
xlrd
欢迎加入学习交流QQ群:657341423


Python读取excel,常用第三方库是xlrd,写入的是xlwt。
在读取excel的时候,代码如下:

data = xlrd.open_workbook('data.xls')
table = data.sheets()[0]

nrows = table.nrows
ncols = table.ncols

会发现执行结果出现报错:

  File "E:\Python\lib\site-packages\xlrd\compdoc.py", line 426, in _locate_stream
    raise CompDocError("%s corruption: seen[%d] == %d" % (qname, s, self.seen[s]))
xlrd.compdoc.CompDocError: Workbook corruption: seen[2] == 4

如果在电脑上直接打开excel,excel是正常的。看报错信息,来自于源文件compdoc.py,打开该文件,找到426行代码,代码如下:

if self.seen[s]:
	print("_locate_stream(%s): seen" % qname, file=self.logfile); dump_list(self.seen, 20, self.logfile)
	raise CompDocError("%s corruption: seen[%d] == %d" % (qname, s, self.seen[s]))

这是主动抛异常,将代码全部注释起来,再执行代码,发现读取正常。
总结一句话,第三库的源码有bug。。。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xy-Huang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值