有时候我们用xlrd读取数据会出现错误,让我们一起看看怎么解决吧。
Python读取excel,常用第三方库是xlrd,写入的是xlwt。
在读取excel的时候,代码如下:
1 2 3 4 5 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei"; font-size: 14px;" >data = xlrd.open_workbook( 'data.xls' )
table = data.sheets()[0]
nrows = table.nrows
ncols = table.ncols<br></span></p>
|
会发现执行结果出现报错:
1 2 3 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei"; font-size: 14px;" >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<br></span></p>
|
如果在电脑上直接打开excel,excel是正常的。看报错信息,打开该文件,找到426行代码,代码如下:
1 2 3 | <p style= "line-height: 1.75em;" ><span style= "font-family: 微软雅黑, "Microsoft YaHei"; font-size: 14px;" > 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]))<br></span></p>
|
这是主动抛异常,将代码全部注释起来,再执行代码,发现读取正常。
以上就是Python中xlrd读取报错的解决办法。更多Python学习推荐:PyThon学习网教学中心。