使用ndim > 2
和np.savetxt
将多维2维数组(np.loadtxt
)存储到文件并以相同格式(维度)检索文件的通用方法是什么?< / p>
我担心的是,如果我在存储时给出任何分隔符,我是否需要在检索时给予一些处理?另外处理浮动并以相同的格式检索它也不是很棘手。
我在文档中看到了很多简单的例子。我只是想知道是否可以使用简单的np.savetxt(filename, array)
来检索最简单的存储array = np.loadtxt(filename)
。
答案 0 :(得分:3)
如果需要在文本文件中保存多维数组,可以使用header
参数保存原始数组形状:
import numpy as np
a = np.random.random((2, 3, 4, 5))
header = ','.join(map(str, a.shape))
np.savetxt('test.txt', a.reshape(-1, a.shape[-1]), header=header,
delimiter=',')
要加载此数组,您可以执行以下操作:
with open('test.txt') as f:
shape = map(int, f.next()[1:].split(','))
b = np.genfromtxt(f, delimiter=',').reshape(shape)