注册 登录
编程论坛 Python论坛

python 无法用xlrd打开xls。出现xlrd.compdoc.CompDocError

waitian 发布于 2016-01-15 12:14, 8814 次点击
    新手求助:python编写的程序处理xls文件,一开始编写了一个程序A,可以执行;后来需要写程序B,因为在处理xls部分与A是一样的,就是个读数据的过程,所以我就把A的相关代码复制到了B,结果B在执行的时候出现了如下错误;
    我找了一下出问题的语句,发现就是打开xls文件那句话执行不了,于是我将B需要处理的xls中的部分数据复制到了A处理的表格中,再用B来处理复制过来的数据,发现就可以打开了,所以怀疑是xls版本的问题,但是之前写的一个程序C也用到了xlrd,半个月前,C是可以正常执行的,而现在却不能了,还是同样的错误,什么都没改,什么都没动,所以又觉得不应该是xls版本问题;
    因为处理数据涉及保密内容,请各位原谅不能将源数据和代码上传,如果我没说明白还请多多指教;
    百度、谷歌找了一些文档都是英文的,因为刚开始编程不久,很多词汇也看不太明白,还请高手赐教。不胜感激;
_locate_stream(Workbook): seen
    0  5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
   20  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
 2520= 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
 2540  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 2 2
 2560  2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Traceback (most recent call last):
  File "data_ETS.py", line 105, in <module>
    main(sys.argv)
  File "data_ETS.py", line 20, in main
    bk = xlrd.open_workbook(fname)
  File "/usr/lib/python2.6/site-packages/xlrd/__init__.py", line 441, in open_workbook
    ragged_rows=ragged_rows,
  File "/usr/lib/python2.6/site-packages/xlrd/book.py", line 87, in open_workbook_xls
    ragged_rows=ragged_rows,
  File "/usr/lib/python2.6/site-packages/xlrd/book.py", line 592, in biff2_8_load
    cd.locate_named_stream(UNICODE_LITERAL(qname))
  File "/usr/lib/python2.6/site-packages/xlrd/compdoc.py", line 390, in locate_named_stream
    d.tot_size, qname, d.DID+6)
  File "/usr/lib/python2.6/site-packages/xlrd/compdoc.py", line 418, in _locate_stream
    raise CompDocError("%s corruption: seen[%d] == %d" % (qname, s, self.seen[s]))
Workbook corruption: seen[2] == 4
1 回复
#2
fenghelong2016-01-31 13:26
把你的代码贴上来给我看看、
1