python将二维和三维数组保存到txt文件
首先要保证在你的python环境中装了numpy包,接下来我们要使用其中的两个函数用于存储和加载数组:np.savetxt()和np.loadtxt(),为避免影响大家读下去的心情,这里就不放官方文档了,直接讲解应用。二维数组的保存和读取import numpy as npa = np.ones((2, 2))##四个参数依次为文件名、数组、数据类型(浮点型)、分隔符(逗号)np.savetxt(
·
首先要保证在你的python环境中装了numpy包,接下来我们要使用其中的两个函数用于存储和加载数组:np.savetxt()和np.loadtxt()。
二维数组的保存和读取
import numpy as np
a = np.ones((2, 2))
##四个参数依次为文件名、数组、数据类型(浮点型)、分隔符(逗号)
np.savetxt("a.txt", a, fmt = '%f', delimiter = ',')
b = np.loadtxt('a.txt', delimiter = ',')
这里也可以设置保存的路径,把相应路径加在a.txt前,例如:
np.savetxt("/home/Velocitymodel/speedfile/a.txt", a, fmt = '%f', delimiter = ',')
三维数组的保存和读取
这里重点讲一下如何将三维数组保存到txt文件,如果我们直接使用二维数组的方法这里就会报错,因为np.savetxt()和np.loadtxt()只能用于一维和二维数组。那么在这里我们使用循环将三维数组以二维切片的形式写如txt文件:
import numpy as np
b = np.ones((2,2,2))
with open('/home/Velocitymodel/speedfile/b.txt', 'w') as outfile:
for slice_2d in b:
np.savetxt(outfile, slice_2d, fmt = '%f', delimiter = ',')
这时我们就相当于保存了一个大的二维数组到txt文件,我们可以在读文件的使用使用reshape()函数将它恢复成三维数组:
c = np.loadtxt('/home/Velocitymodel/speedfile/b.txt', delimiter = ',').reshape((2, 2, 2))
这样我们将完成了三维数组的保存和读取。
np.savez()
numpy中还有一种方法可以直接保存三维数组,但是生成的文本格式为.npz形式,相比于txt其接口太少,这里也就不多做赘述,有兴趣的可以参考这篇博文。
python:保存N维数组(ndarray)到本地文件
更多推荐
已为社区贡献3条内容
所有评论(0)