numpy数据存取

一维,二维的存取

存一维,二维数据

np.savetxt(fname,array,fmt=’%.18e’,delimiter=None);

fname 表示的是存取文件的名称
array 表示的是要存入文件的数据的数组名称
fmt 表示写入文件的格式,例如:%d %.2f %.18e
delimiter 表示的是分割各个数据的字符串,默认是空格
 #e.g:
 a = np.arange(100).reshape(4,25);
 np.savetxt('a.csv',a,fmt='%d',delimiter=',');
 b = np.loadtxt('a.csv',dtype=np.int,delimiter=',');

取一维,二维数据

v=np.loadtxt(fname,dtype=np.float,delimiter=None,unpack=False);

fname 表示的是读入文件的名称
dtype 数据类型,可选
delimiter 表示的是分割各个数据的字符串,默认是空格
unpack 如果为True,读入属性将分别写入不同的变量
	#e.g:
    a = np.arange(100).reshape(2,5,10);
    a.tofile('a.dat',sep=',' ,format='%.f');
    b = np.fromfile('a.dat',sep=',', dtype='int32',count=10).reshape(10,1,1);

注意: savetxt,loadtxt只能读写一维,二维数组。

多维数据的存取

多维数据存

a.tofile(fname,sep=’’,format=’%s’)

fname 表示的是存取文件的名称
sep 表示的是数据分割字符串,如果是空串,写入文件为二进制文件
format 写入数据的格式

多维数据取

np.fromfile(fname,dtype=float,count=-1,sep=’’)

fname 表示的是读入文件的名称
dtype 读取的数据类型
count 读入元素个数,-1表示读入整个文件数据
sep 数据分割字符串,如果是空串,写入为二进制

注意: tofile虽然可以存入多维数组,但是写入的文件其实是转换成了一维数组

如果用fromfile读取多维数组,fromfile只能读取相当于一个[]中的内容

所以该方法需要读取时知道存入文件时数组的维度和元素类型

a.tofile 和 np.fromfile 需要配合使用

可以通过元数据文件来存取额外信息(即再新建一个文件来存储这方面的信息)

NumPy的便捷文件存取

np.save(fname,array) 或np.savez(fname,array)

fname 文件名,以.npy为扩展名,压缩扩展名为.npz
array 数组变量

x=np.load(fname)

fname 文件名,以.npy为扩展名,压缩扩展名为.npz

save存取的文件前面是存取数组的信息,包括维度等,通过这些信息来实现读取的时候将数组维度直接还原

	# e.g:
    a = np.arange(100).reshape(2,5,10);
    np.save('a.npy',a);
    b = np.load('a.npy');

你可能感兴趣的:(python)