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)