【发布时间】:2014-07-21 15:26:10
【问题描述】:
我有一个非常大的 csv 文件,我无法将其全部加载到内存中。所以我想一块一块地读,把它转换成numpy数组,然后再做一些处理。
我已经检查过: Lazy Method for Reading Big File in Python?
但这里的问题是它是一个普通的阅读器,我无法在 csvReader 中找到任何指定大小的选项。
此外,由于我想将行转换为 numpy 数组,我不想将任何行读取一半,因此我想要在阅读器中指定“行数”的东西,而不是指定大小。
有没有内置的功能或者简单的方法。
【问题讨论】:
-
您查看过pandas.pydata.org 吗?我自己没有使用过 Pandas,但我认为它对这类事情很有用。
-
除了在您用来创建阅读器的文件对象上设置
buffering参数之外,还有更多内容吗?所有 Python 对象都支持惰性求值,无需进一步努力,您只需确保文件不会尝试将整个内容拉入内存。
标签: python csv file-io generator