在Python中导入数据时解决内存错误

在Python中导入数据时解决内存错误,python,memory,Python,Memory,我正在尝试将数据(以许多大型.dat文件的形式)导入python以进行计算模拟。文件本身只是数据字符串,我想将它们放入两个(最终是一个)位置数据数组中,用文件分隔。Python可以很好地导入一个文件,但是当它通过第二个文件集(每个文件集有159个文件)时,它会崩溃并引用MemoryError。我清楚地理解这个错误的含义,但是我已经在这个网站上尝试了所有的解决方案,但是没有任何效果。有人有什么建议来回避这个问题吗?不幸的是,我最终需要将所有数据作为一个整体放在一起,因此任何类型的分块(除非它只适用

我正在尝试将数据(以许多大型.dat文件的形式)导入python以进行计算模拟。文件本身只是数据字符串,我想将它们放入两个(最终是一个)位置数据数组中,用文件分隔。Python可以很好地导入一个文件,但是当它通过第二个文件集(每个文件集有159个文件)时,它会崩溃并引用MemoryError。我清楚地理解这个错误的含义,但是我已经在这个网站上尝试了所有的解决方案,但是没有任何效果。有人有什么建议来回避这个问题吗?不幸的是,我最终需要将所有数据作为一个整体放在一起,因此任何类型的分块(除非它只适用于导入本身)都不起作用。任何帮助都将不胜感激

编辑1 作为对有益讽刺的回应,我目前正在尝试使用

xfile_list = glob.glob('Path\\/*dat')

xpos = []

for file_path in xfile_list:
    xpos.append(genfromtxt(file_path, delimiter = '\t'))

从给定目录导入文件(并复制以包含YPO)。此外,数据本身总计108158*1470=158992260个元素,每组为1.6GB。这最终意味着我希望在单个阵列中使用两倍于此数量的数据

您可以尝试以这样一种方式编写它,即强制垃圾收集以释放第一个文件所持有的内存。祝贺您在此网站上尝试所有解决方案。在这项令人精疲力尽的工作中,您可能已经注意到,好的问题提供了一段代码和清晰的事实,让其他人能够帮助您。您可以从显示您使用的一段代码开始,并对试图进入内存的数据量求和。