最先 import numpy as np
注:csv的局限性:只能有效存储一维和二维数组,np.savetxt np.loadtxt 能有效的存取一维和二维数组
一:保存为csv/txt文件
np.savetxt(frame,array,fmt='%.19e',deliniter=None)
frame:文件、字符串或产生器。可以是.gz或.bz2的压缩文件
array:存入文件的数组
fmt:写入文件的格式,例如:%d,%.2f,%.18e
delimiter:分割字符串,默认是任何空格
二:从csv\txt文件读入数据
np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)
frame:文件、字符串或产生器。可以是.gz或.bz2的压缩文件
dtype:数据类型,可选
delimiter:分割字符串,默认是任何空格
unpack:如果True,读入属性将分别写入不同变量
三:多维数组的存取
a.tofile(frame,sep='',format='%s')
frame:文件、字符串
sep:数据分割字符串,如果是空串,写入文件为二进制
format:写入数据的格式
四:从文件读入数据
np.fromfile(frame,dtype=float,count=-1,sep='')
frame:文件、字符型
dtype:读取的数据类型
count:读入元素个数,-1表示读入整个文件
sep:数据分割字符串,如果是空串,写入文件为二进制
五:Numpy的便捷文件存取(.npy是numpy的自定义文件格式)
np.save(fname,array) 或 np.savez(fname,array)
fname:文件名,以.npy为扩展名,压缩扩展名为.npz
array:数组变量
np.load(fname)
fname:文件名,以.npy为扩展名,压缩扩展名为.npz
以练习为例:
a=np.arange(100).reshape(5,20) -----生成五组100以内的一维数组,每个数组有20 个元素
#将a的数组存入Python.txt的文件中
np.savetxt('C:\Users\Administrator\Desktop\Python.txt',a,fmt='%d',delimiter=',')
#将a的数组存入Python.csv的文件中
np.savetxt('C:\Users\Administrator\Desktop\Python.csv',a,fmt='%d',delimiter=',')
#从Python.csv读入数据
b=np.loadtxt('C:\\Users\\Administrator\\Desktop\\Python.csv',delimiter=',')
#将多维数组读入Python.dat文件
a=np.arange(100).reshape(5,10,2) ------生成5组10行2列的数组
a.tofile("C:\\Users\\Administrator\\Desktop\\Python.dat",sep=",",format='%d')
c=np.fromfile("C:\\Users\\Administrator\\Desktop\\Python.dat",dtype=np.int,sep=",") -----从Python.dat读入数据到数组c
c=np.fromfile("C:\\Users\\Administrator\\Desktop\\Python.dat",dtype=np.int,sep=",").reshape(5,10,2) ----将文件写入的数据转换成五组10行2列的数组
#numpy便捷文件存取
np.save("C:\\Users\\Administrator\\Desktop\\Python.npy",a) -----将数组a存入Python.npy
b=np.load("C:\\Users\\Administrator\\Desktop\\Python.npy") -----从Python.npy读出数据