有大量可用内存,但退出“;MemoryError“;用Python

有大量可用内存,但退出“;MemoryError“;用Python,python,numpy,out-of-memory,Python,Numpy,Out Of Memory,我的电脑是用Win7的64位操作系统。内存为16GB。我想将1 GB csv数据加载到numpy.array中。我监视了资源,发现程序在内存达到8.56GB时退出 我的Python版本是:win32上的Python 2.7.10(默认,2015年5月23日09:44:00)[MSC v.1500 64位(AMD64)] 守则: QA_file=open("QA_URLs.csv") urlreader=csv.reader(QA_file, delimiter=',', quotechar='"

我的电脑是用Win7的64位操作系统。内存为16GB。我想将1 GB csv数据加载到numpy.array中。我监视了资源,发现程序在内存达到8.56GB时退出

我的Python版本是:win32上的Python 2.7.10(默认,2015年5月23日09:44:00)[MSC v.1500 64位(AMD64)]

守则:

QA_file=open("QA_URLs.csv")
urlreader=csv.reader(QA_file, delimiter=',', quotechar='"')

QA_HrefId=[]
QA_PostId=[]
QA_PostTypeId=[]
QA_OwnerUserId=[]
QA_ParentId=[]
QA_Href=[]
QA_CreationDate=[]

for line in urlreader:
    if len(line)==7:
        QA_HrefId.append(line[0])
        QA_PostId.append(line[1])
        QA_PostTypeId.append(line[2])
        QA_OwnerUserId.append(line[3])
        QA_ParentId.append(line[4])
        QA_Href.append(line[5])
        QA_CreationDate.append(line[6])


np_QA_HrefId=np.array(QA_HrefId)
np_QA_PostId=np.array(QA_PostId)
np_QA_PostTypeId=np.array(QA_PostTypeId)
np_QA_OwnerUserId=np.array(QA_OwnerUserId)
np_QA_ParentId=np.array(QA_ParentId)
np_QA_Href=np.array(QA_Href)
np_QA_CreationDate=np.array(QA_CreationDate)
例外信息:

Traceback (most recent call last):
  File "D:Recommender.py", line 81, in <module>
    np_QA_Href=np.array(QA_Href)
MemoryError
回溯(最近一次呼叫最后一次):
文件“D:Recommender.py”,第81行,在
np_QA_Href=np.array(QA_Href)
记忆者

为什么它在有大量可用内存的情况下报告“MemoryError”

你确定文件大小吗?这段代码上面的操作是什么?这里是第81行。@optimist,“QA_url.csv”的文件大小是976MB。第81行是:np_QA_Href=np.array(QA_Href)。此行的目的是将list转换为numpy.array.com,但文件在磁盘上的大小与python读取时的大小不同。您是否正在测量脚本使用的RAM?@SuperBiasedMan,我监视Windows任务管理器,发现该程序在脚本达到3.5GB时除外。