问题描述
在Python中,我正在读取一个非常大的2D数据网格,该网格总共包含大约200,000,000个数据点。每个数据点都是3个浮点数的元组。将所有这些数据读取到二维列表中经常会导致内存错误。为了解决此内存错误,我希望能够将这些数据读取到硬盘驱动器上的某种表中,当给定网格坐标(即harddrive_table.get(300,42))时可以有效地访问该表。
到目前为止,在我的研究中,我遇到过PyTables,它是HDF5的一种实现,似乎有点过头了;还有内置的shelve库,它使用类似于字典的方法访问已保存的数据,但是键必须是字符串,而将数亿个网格坐标转换为字符串进行存储的性能对于我的使用而言可能会影响性能。
是否有任何库可以让我在硬盘驱动器上存储2D数据表,并且可以有效访问单个数据点?
此数据表仅在程序运行时才需要,因此我不关心它的互操作性或它如何将数据存储在硬盘驱动器上,因为程序运行后将被删除。