二进制数据存储、读取;TXT或CSV格式文件的存储、读取(savetxt、loadtxt)

save函数以二进制的格式保存数据,load函数从二进制的文件中读取数据。

二进制数据的存储:

import numpy as np
arr=np.arange(100).reshape(10,10)#创建一个数组
np.save("C:/Users/ausu/tmp/save_arr",arr)#保存数组  
print ('保存的数组为:\n',arr)


保存的数组为:
 [[ 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]]

多个数组的存储:

import numpy as np
arr1=np.array([[1,2,3],[4,5,6]])
arr2=np.arange(0,1.0,0.1)
np.savez('C:/Users/ausu/tmp/savez_arr',arr1,arr2)
print('保存的数组1为:',arr1)
print('保存的数组2为:',arr2)


保存的数组1为: [[1 2 3]
 [4 5 6]]
保存的数组2为: [0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

二进制文件的读取:

#二进制文件的读取
loaded_data=np.load("C:/Users/ausu/tmp/save_arr.npy")#读取单个数组的文件
print('读取的数组为:\n',loaded_data)


读取的数组为:
 [[ 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]]

读取含有多个数组的文件:

#读取包含多个数组的文件
loaded_data1=np.load("C:/Users/ausu/tmp/savez_arr.npz")
print('读取的数组1为:',loaded_data1['arr_0'])
print('读取的数组2为:',loaded_data1['arr_1'])


读取的数组1为: [[1 2 3]
 [4 5 6]]
读取的数组2为: [0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

文件的存储与读取  :读取TXT或CSV格式的文件常用的是loadtxt函数

savetxt函数可将数组写到以某种分割符隔开的文本文件中,语法格式如下:

np.savetxt(fname,x,fmt='%.18e',delimiter=',',newline='\n',header='',footer='',comments='#'

参数“fname“是文件名 。参数x为数组数据,“delimiter”为数据分割符

文件的存储与读取: save函数和loadtxt函数

arr=np.arange(0,12,0.5).reshape(4,-1)
print('创建的数组为:',arr)


创建的数组为: [[ 0.   0.5  1.   1.5  2.   2.5]
 [ 3.   3.5  4.   4.5  5.   5.5]
 [ 6.   6.5  7.   7.5  8.   8.5]
 [ 9.   9.5 10.  10.5 11.  11.5]]
#fmt="%d"表示保存为整数
np.savetxt("C:/Users/ausu/tmp/arr.txt",arr,fmt="%d",delimiter=",")
#读入的时候也需要指定逗号分隔
loaded_data=np.loadtxt("C:/Users/ausu/tmp/arr.txt",delimiter=",")
print('读取的数组为:',loaded_data)


读取的数组为: [[ 0.  0.  1.  1.  2.  2.]
 [ 3.  3.  4.  4.  5.  5.]
 [ 6.  6.  7.  7.  8.  8.]
 [ 9.  9. 10. 10. 11. 11.]]
扫描二维码关注公众号,回复: 6112138 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_43817064/article/details/89791286