读写文件
NumPy 文件读写主要有二进制的文件读写和文件列表形式的数据读写两种形式
(1) save 函数是以二进制的格式保存数据。 格式: np.save (“./save_arr “, arr1)
(2) load 函数是从二进制的文件中读取数据。 格式: np.load(“./ save_arr.npy”)
(3) savez 函数可以将多个数组保存到一个文件中。 格式: np.savez(‘./savez_arr’,arr1,arr2)
(4) 存储时可以省略扩展名,但读取时不能省略扩展名
读取文本格式的数据(TXT CSV 格式)
(1) savetxt 函数是将数组写到某种分隔符隔开的文本文件中。 格式: np.savetxt(“./arr.txt”, arr, fmt=”%d”, delimiter=”,”)
## fmt=”%d”表示保存为整数,delimiter=”,”表示用’,’隔开。
(2) loadtxt 函数执行的是把文件加载到一个二维数组中。 格式: np.loadtxt(“./arr.txt”,delimiter=”,”)
(3) genfromtxt 函数面向的是结构化数组和缺失数据。 格式: np.genfromtxt(“./arr2.txt”, delimiter = “,”)
二进制文件读写
(1) save() 函数是以二进制的格式保存数据; load() 函数是从二进制的文件中读取数据
import numpy as np
arr1 = np.arange(40).reshape((5,8))
print(arr1)
# 保存二进制文件,npy格式是一个数组的文件保存
np.save('./save_arr',arr1)
arr3 = np.load('./save_arr.npy') # 读取二进制文件
print(arr3)
(2) savez() 函数可以将多个数组保存到一个文件中
import numpy as np
arr1 = np.arange(40).reshape((5,8))
arr2 = np.arange(1,10,1)
# print(arr1)
# print(arr2)
np.savez('./savez_arr',arr1,arr2) # 保存二进制文件,npz多个数组的文件保存
load_data = np.load('./savez_arr.npz') # 读取二进制文件
print(load_data)
print(type(load_data))
# 可遍历文件中的键值(也可以通过开启断点来获取)
# for i,k in load_data.items():
# print(i,k)
# 结果:
# arr_0 [[ 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]]
# arr_1 [1 2 3 4 5 6 7 8 9]
print(load_data['arr_0'])
print(load_data['arr_1'])
文本文件读写
(1) savetxt() 函数是将数组写到某种分隔符隔开的文本文件中; loadtxt() 函数执行的是把文件加载到一个二维数组中
import numpy as np
arr = np.arange(0,9,1).reshape(3,-1) # -1的意思是根据行数自动匹配列数
print(arr)
# 结果:
# [[0 1 2]
# [3 4 5]
# [6 7 8]]
# fmt='%d'表示保存为整数,delimiter=","表示用','隔开
np.savetxt('arr.txt',arr,fmt='%d',delimiter=',') # 保存
load_txt = np.loadtxt('arr.txt',delimiter=',') # 读取
print(load_txt)
# 结果:
# [[ 0. 1. 2.]
# [ 3. 4. 5.]
# [ 6. 7. 8.]]
(2) genfromtxt 函数面向的是结构化数组和缺失数据(基本操作)
import numpy as np
arr = np.arange(0,9,1).reshape(3,-1) # -1的意思是根据行数自动匹配列数
# print(arr)
# 结果:
# [[0 1 2]
# [3 4 5]
# [6 7 8]]
# fmt='%d'表示保存为整数,delimiter=","表示用','隔开
np.savetxt('./arr2.txt',arr,fmt='%d',delimiter=',') # 保存
# skip_header从哪行开启读取
load_txt = np.genfromtxt('./arr2.txt',delimiter=',',skip_header=1) # 读取
print(load_txt)
# 结果:
# [[ 3. 4. 5.]
# [ 6. 7. 8.]]
# 二维数组切片方式
print(load_txt[1:2,0:3])
# 结果:
# [[ 6. 7. 8.]]
print(load_txt[0:3,0])
# 结果: [ 3. 6.]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/113098.html