将 numpy 数组序列化为 npz 字符串



我正在寻找一种方法来从多个不同类型的numpy数组中生成压缩的二进制字符串。 :D本问题推荐的方法:

将 numpy 数组存储和加载为文件

是使用以下方法:

np.savez_compressed('file_name_here.npz', arr_a = a, arr_b = b)

但需要注意的是,我直接需要实际的字符串,并且没有保存它的路径。有没有简单的方法可以直接生成二进制字符串而不保存到磁盘?有没有某种解决方法可以做到这一点?

您可以简单地将压缩数组保存到StringIO对象并将其读回,

from cStringIO import StringIO
import numpy as np
x = np.ones(10)
f = StringIO()
np.savez_compressed(f, x=x)
f.seek(0)
out = f.read()
print(out)

最新更新