CSV (Comma-Separated ‐ Value, 逗号分隔值)
CSV是一种常见的文件格式,用来存储批量数据
一· 一二维数组存取
(1)np.savetxt('frame',array,fmt='%d',delimiter=None)
frame: 文件
array:存入文件的数组
fmt:写入文件的格式,如%d %f %e
delimiter:分割字符串,默认空格
import numpy as np
a=np.arange(20).reshape(2,10)
b=np.savetxt('a.csv',a,fmt='%d',delimiter=None)
print(a)
[[ 0 1 2 3 4 5 6 7 8 9]
[10 11 12 13 14 15 16 17 18 19]]
(2) np.loadtxt('frame',dtype=np.int,delimiter=None,unpack=False)
frame:文件
dtype:数据类型
delimiter:分割字符串
unpack:若为True,则读入属性奖分别写入不同变量
import numpy as np
a=np.arange(20).reshape(2,10)
b=np.savetxt('b.csv',a,fmt='%d',delimiter=',')
c=np.loadtxt('b.csv',delimiter=',')
print(c)
[[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
[10. 11. 12. 13. 14. 15. 16. 17. 18. 19.]]
二· 任意维数据存取
(1)a.tofile(frame,sep=' ',format='%s')
frame:文件
sep:数据分割字符串,如果是空格,写入文件为二进制
format:写入数据格式
(2)np.fromfile(frame,dtype=float,count=-1,sep=' ')
frame:文件
dtype:读取的shu数据类型
count:读入元素个数,-1代表读入整个文件
sep:数据分割字符串,如果是空串,则写入文件为二进制
【注】该方法需要读取时知道存入文件时数组的维度和元素类型
【注】以.dat为扩展名
import numpy as np
a=np.arange(100).reshape(5,10,2)
a.tofile('b.dat',format='%d')
c=np.fromfile('b.dat',dtype=np.int).reshape(5,10,2)
print(c)
[[[ 0 1]
[ 2 3]
[ 4 5]
[ 6 7]
[ 8 9]
[10 11]
[12 13]
[14 15]
[16 17]
[18 19]]
[[20 21]
[22 23]
[24 25]
[26 27]
[28 29]
[30 31]
[32 33]
[34 35]
[36 37]
[38 39]]
[[40 41]
[42 43]
[44 45]
[46 47]
[48 49]
[50 51]
[52 53]
[54 55]
[56 57]
[58 59]]
[[60 61]
[62 63]
[64 65]
[66 67]
[68 69]
[70 71]
[72 73]
[74 75]
[76 77]
[78 79]]
[[80 81]
[82 83]
[84 85]
[86 87]
[88 89]
[90 91]
[92 93]
[94 95]
[96 97]
[98 99]]]
三· 文件便捷存取!!! 推荐
(1)np.save(fname,array)
(2) np.load(fname)
【注】以.npy为扩展名,压缩扩展名为.npz
import numpy as np
a=np.arange(10).reshape(5,2)
np.save('a.npy',a)
b=np.load('a.npy')
print(b)
[[0 1]
[2 3]
[4 5]
[6 7]
[8 9]]