+ -
当前位置:首页 → 问答吧 → 关于大数据量情况下 python写excel文件的Memory Error问题

关于大数据量情况下 python写excel文件的Memory Error问题

时间:2011-03-16

来源:互联网

我使用python将程序数据导入到excel文件中, 在普通数据量的情况下它能很好地工作.
当数据量特别大是, 譬如60w条数据, 程序就会出现异常. python脚本出现Memory Error错误.
对于数据的导出, 我使用的就是普通的循环, 没有分次分块机制.
  1. i = 0
  2. data_list = pythonlib.get_datalist( )
  3. for data in data_list:
  4.         j = 0
  5.         col = 0
  6.         for str in data:
  7.                 ws.write( i , j , str )
  8.                 j = j + 1
  9.                 col = col + 1
  10.         i = i + 1
复制代码
不知道诸如此类的代码如何优化能解决Memory Error问题?

thanks.

作者: sjdev   发布时间: 2011-03-16

回复 sjdev


1. 读数据用yield
2. 写数据后用flush

作者: iamkey9   发布时间: 2011-03-16



QUOTE:
回复  sjdev


1. 读数据用yield
2. 写数据后用flush
iamkey9 发表于 2011-03-16 13:12



我只有遍历写数据的逻辑,应该用不到yield.
我先试一下flush, 谢谢~~

作者: sjdev   发布时间: 2011-03-16