numpy与CSV文件的储存与读取

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]]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值