使用Pandas读取大型文本文件

mar*_*ion 6 python csv ipython large-files pandas

我一直试图用Pandas读取一些大文本文件(大小约为1.4GB - 2GB),使用该read_csv功能,但没有用.以下是我使用的版本:

  • Python 2.7.6
  • Anaconda 1.9.2(64位)(默认,2013年11月11日,10:49:15)[MSC v.1500 64 bit(AMD64)]
  • IPython 1.1.0
  • 熊猫0.13.1

我尝试了以下方法:

df = pd.read_csv(data.txt')
Run Code Online (Sandbox Code Playgroud)

它用一条消息撞毁了Ipython : Kernel died, restarting.

然后我尝试使用迭代器:

tp = pd.read_csv('data.txt', iterator = True, chunksize=1000)
Run Code Online (Sandbox Code Playgroud)

再次,我得到了Kernel died, restarting错误.

有任何想法吗?或者以其他方式阅读大文本文件?

谢谢!

Dar*_*nus 6

在发布此问题后的某个时间,此处给出了类似问题的解决方案.基本上,它建议chunks通过执行以下操作来读取文件:

chunksize = 10 ** 6  # number of rows per chunk
for chunk in pd.read_csv(filename, chunksize=chunksize):
    process(chunk)
Run Code Online (Sandbox Code Playgroud)

您应该chunksize根据机器的功能指定参数(即,确保它可以处理块).