来源:python中国网 时间:2019-08-07

  用python读写excel读写sheet读写单元格操作用openpyxl比较爽,因为openpyxl可读可写。复杂的数据分析的话用pandas这个包。但是他门没法处理低版本后缀是xls的excel文件,十分尴尬。此时不得不用xlrd这个包了。这玩意只能读不能写。测试了下如下代码

	  wb= xlrd.open_workbook('data.xls')

	  table = wb.sheets()[0]

	  nrows = wb.nrows

	  ncols = wb.ncols<

  提示报错

  File "E:Pythonlibsite-packagesxlrdcompdoc.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

  解决办法:

  进入compdoc.py,然后把其中主动抛异常代码注释掉,然后再次读取就会正常。

  此外,常用第三方库xlrd只能读,xlwt只能写。他们都木有oppyxl用起来舒服。其他的库比如xlwings号称让excel飞起来,实际测试并不是他说的那么快!而且xlwings和其他包的方式不同,他是启动的excel进程,使用不当的话内存会卡爆,不知不觉内存多了很多excel进程。