1.数据的csv文件存取
二维数组存取
np.savetxt(frame, array, fmt='%.18e', delimiter=None)
np.loadtxt(frame, dtype=np.float, delimiter=None, unpack=False)
直接上例子:
In [11]: a=np.arange(24).reshape((4,6))
In [12]: np.savetxt('a.csv',a,fmt='%d',delimiter=',')
In [16]: b=np.loadtxt('a.csv',dtype=np.int,delimiter=',')
In [17]: b
Out[17]:
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]])
在ipython的路径下可以看到有个a.csv文件,这里应该注意这种方式只能写入一维或二维数组!!
多维数组的存取
"""
1.方法一:保存为一维数组,
a.tofile(frame, sep='', format='%s')
np.fromfile(frame, dtype=float, count=‐1, sep='') count : 读入元素个数,‐1表示读入整个文件
2.**方法二**:
np.save(fname, array) 或 np.savez(fname, array)
np.load(fname)
In [23]: a.tofile('a.csv',sep='',format='%d')
In [24]: a
Out[24]:
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
In [27]: b=np.fromfile('a.csv',dtype=np.int,count=-1,sep='')
In [28]: b
Out[28]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23])
In [33]: np.save('aa.npy',a)
In [34]: b=np.load('aa.npy')
In [35]: b
Out[35]:
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
方法一:
写入的时二进制无法打开查看,且数组维数信息丢失,可通过在另一个文件存储信息,还有一点区别,tofile函数可以理解为array对象的函数,而fromfile为array类的函数。
方法二:
保存时保存维数信息,数组数据仍按二进制存储但在文件第一行保存维数信息,用记事本打开可看见,文件第一行如下:
揘UMPY� F {'descr': '<i4', 'fortran_order': False, 'shape': (2, 3, 4), }