1 import numpy as np
 2 
 3 # 文本文件——>二进制文件
 4 # 创建一个数组
 5 arr = np.arange(16).reshape((4, 4))
 6 
 7 # 保存单个数组到二进制文件中
 8 # 参数1 文件路径+名称,名称后缀名可以省略,保存的是以.npy为结尾的文件
 9 # 参数2 需要保存的数组
10 # np.save("./arr", arr)
11 print("单个数组保存完成")
12 
13 # 加载.npy文件
14 # 参数 文件路径+名称(必须似乎完整名称)
15 res = np.load("./arr.npy")
16 print(res)
17 
18 # 多个数组的数组的保存
19 arr1 = np.arange(9)
20 arr2 = np.arange(16).reshape((4, 4))
21 
22 print("arr1: \n", arr1)
23 print("arr2: \n", arr2)
24 
25 # 将不同的数组保存
26 # 参数1 文件路径名称,可省略后缀名,默认保存以.npz的文件
27 np.savez("./arr", arr1, arr2)
28 print("多个数组保存完成")
29 
30 # 如果需要保存的数组数量过多,读取出来无法区分,可以在保存的时候,指定其key值的形式来保存
31 np.savez("./arr", arr1=arr1, arr2=arr2, x=arr1, y=arr2)
32 print("保存完毕")
33 
34 # 加载.npz文件
35 res = np.load("./arr.npz")
36 print(res)
37 
38 print("~"*60)
39 # 遍历对象来获取保存时的key
40 for tmp in res:
41     print(tmp)
42     print(res[tmp])
43 print("~"*60)
44 # print(res["arr1"])
45 # print(res["arr2"])
46 # print(res["x"])
47 # print(res["y"])
48 
49 # # 加载.npz文件
50 # res = np.load("./arr.npz")
51 # print(res)  # 返回一个对象,对象内部是以键值对形式存储
52 # for tmp in res:
53 #     print(tmp)
54 # print(res["arr_0"])
55 # print(res["arr_1"])
56 
57 
58 # 创建一个数组
59 arr = np.arange(16).reshape((4, 4))
60 
61 # 以文本形式保存数组
62 # 参数1 文件路径+名称 后缀不能省略
63 # 参数2 需要保存的数组
64 # fmt 保存的格式
65 # delimiter 分隔符
66 np.savetxt("arr.txt", arr, fmt="%d", delimiter=",")
67 print("保存完成")
68 
69 # 加载文件类型的数据:
70 # 保存的时候以什么分隔,读取的时候必须设置delimiter
71 # loadtxt 不能读取含有缺失值的数组
72 res = np.loadtxt("./arr.txt", delimiter=",")
73 print(res)
74 
75 # 能够读取含有缺失值的数组,默认会给缺失的位置填写一个不会跟自身数组冲突的值
76 res = np.genfromtxt("./arr.txt", delimiter=",",  dtype=np.int32, filling_values=-100)