如何将一个包含二进制值字符(0
和 1
)的巨大文本文件(>16G)转换为一个 numpy 数组文件,而不会炸毁内存Python?假设我们在机器上有足够的存储空间但没有足够的 RAM 来进行转换。
示例数据:
0,0,0,0,0,1,0,0,0
1,0,0,1,0,0,0,0,0
...
示例代码:
converted_data = [ map(int,line.split(',')) for line in f ]
最佳答案
您使用 pickle 创建了许多 bin 文件,并且您有一些代码可以加载和卸载数据的不同部分。
假设您有一个 16GB 的文件,您可以创建 16 个 1GB 的 pickle 文件。
如果你说你有足够的 RAM,在 pickle 文件完成后,你应该能够将它全部加载到内存中。
关于python - 将二进制值的文本转换为 numpy 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30903274/