当前位置: 代码迷 >> 综合 >> raise NotImplementedError(“formatting_info=True not yet implemented
  详细解决方案

raise NotImplementedError(“formatting_info=True not yet implemented

热度:78   发布时间:2023-12-06 06:08:31.0

使用xlrd打开execl时报错,raise NotImplementedError("formatting_info=True not yet implemented

??低版本的xlrd==1.2.0仅支持.xls格式文件,但是可以使用formatting_info保留文件样式;
??高版本的xlrd可支持.xls和.xlsx格式文件,但是使用formatting_info就会报错。raise NotImplementedError("formatting_info=True not yet implemented")。高版本不再支持formatting_info的可能原因就是为了节省内存和时间,只去识别表中有内容的部分。没有内容但是有样式的单元格会被判断为空白。所以想要用xlrd读写execl文件,要不就不要样式,要不就把文件另存为.xls。

??xlrd读取速度优于openpyxl,低版本xlrd对读取xlsx会出现版本不兼容的问题,它的功能没有openpyxl全面,大部分情况需要结合xlutils来使用。
??如果只是读取,没有格式要求的话,建议使用xlrd。
??如果是需要在原文件上修改的话,建议使用openpyxl。

另注:

??openpyxl的根据行号列号读取的时候,是从第一行第一列开始遍历,直到行号等于指定行号,列号等于指定列号,所以要读取的行号列号越多就越慢。写入数据时,也需要先找到对应的单元格。(也可能是从第一个有数据的行或列)。而xlrd则是类似与数组一样,我们要取第几个元素,直接根据下标找到内存中对应地址的元素即可,所以无论excel总量多少,速度变化并不明显

  相关解决方案