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

时间:2015-06-14 17:18:57

标签: python numpy io

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

Storing and loading numpy arrays as files

是使用以下内容:

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

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

1 个答案:

答案 0 :(得分:4)

您只需将压缩的数组保存到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)