<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
最近在使用python的xlwt模块,它和xlrd、xlutil显然从名字上看得出是一套体系。
然后在写入的时候发生了一些故事。
我不能正确的将很多数据写到一个文件里面。这个文件尽管对于excel来说还不是很大,总共1.5M左右,几万个数据。
但是并不像很多人说的那样,4096个字节的缓冲区,如果接近此缓冲区,flush一下内存即可完成存储并且不丢失数据,不产生异常 。
现在是很多数据也不会产生异常,但是会丢失数据,打开xls文件时,会提示无法打开。
这个问题是这样测试出来的。
编程实现对一个xls的打开、读取、排序,并写入另一个xls文件。
当数据达到31列,2000行时,输出的文件:发现不可读取的内容。是否恢复此工作簿的内容?
当然,恢复是没恢复过来。
通过逐渐减少行数,发现在148行左右就已经出问题了,而且,每次不一定是在148行出事,有时142行没有问题,有时有问题。那么多少行肯定没问题?按照大家的说法,4096/31,4096=31*132+4,132行肯定没问题?
减少到131行、130行,仍然会出问题,只不过有部分数据恢复了回来。