Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用熊猫读取大型文本文件_Python_Csv_Pandas_Ipython_Large Files - Fatal编程技术网

Python 使用熊猫读取大型文本文件

Python 使用熊猫读取大型文本文件,python,csv,pandas,ipython,large-files,Python,Csv,Pandas,Ipython,Large Files,我一直在尝试使用Pandas读取一些大文本文件(大小约为1.4GB-2GB),使用read\u csv功能,但没有成功。以下是我正在使用的版本: Python 2.7.6 Anaconda 1.9.2(64位)(默认值,2013年11月11日,10:49:15)[MSC v.1500 64位(AMD64)] IPython 1.1.0 熊猫0.13.1 我尝试了以下方法: df = pd.read_csv(data.txt') chunksize = 10 ** 6 # number o

我一直在尝试使用Pandas读取一些大文本文件(大小约为1.4GB-2GB),使用
read\u csv
功能,但没有成功。以下是我正在使用的版本:

  • Python 2.7.6
  • Anaconda 1.9.2(64位)(默认值,2013年11月11日,10:49:15)[MSC v.1500 64位(AMD64)]
  • IPython 1.1.0
  • 熊猫0.13.1
我尝试了以下方法:

df = pd.read_csv(data.txt')
chunksize = 10 ** 6  # number of rows per chunk
for chunk in pd.read_csv(filename, chunksize=chunksize):
    process(chunk)
它在Ipython崩溃时发出一条消息:
内核死机,正在重新启动

然后我尝试使用迭代器:

tp = pd.read_csv('data.txt', iterator = True, chunksize=1000)
再一次,我发现
内核死机,重新启动
错误

有什么想法吗?或者其他读取大文本文件的方法


谢谢大家!

在发布此问题后的一段时间内,给出了类似问题的解决方案。基本上,它建议通过执行以下操作以
块的形式读取文件:

df = pd.read_csv(data.txt')
chunksize = 10 ** 6  # number of rows per chunk
for chunk in pd.read_csv(filename, chunksize=chunksize):
    process(chunk)

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

我的机器没有出现此错误,配置与您的机器类似。你有多少内存?在我的机器上,Python需要5GB左右的峰值才能使用
pd读取2.9GB的csv。read_csv()
@saulocastro我的机器安装了8GB。它应该能够处理这样的文件大小,因为大多数已安装的RAM都是可用的,我不运行其他任何东西。10**6是什么,请告诉我们不太了解的??此外,这并没有给出将数据块存储到数据帧中并随后连接所有此类数据帧的解决方案。什么是KB,MB,文件中的行,是什么???这里可能会提到一个更具解释性和实用性的链接:哦,对不起,你没有完全正确。它是每个区块的行数。我建议你检查目标重复问题,因为它有相关和有用的信息:)谢谢链接,我也会检查它