1. import numpy as np
tofile和fromfile
#单个数组
filename = 'output.bin'
data1 = np.array([1, 2, 3], dtype=np.int32)
data1.tofile( 'output.bin', sep=' ', format='int32')
data1 = np.fromfile(filename , dtype=np.int32)
#多个数组
filename = 'output.bin'
data1 = np.array([1, 2, 3], dtype=np.int32)
data2 = np.array([1.1, 2.2, 3.3], dtype=np.float32)
with open(filename, mode="wb") as f: #wb写,ab追加
data1.tofile(f, sep=' ', format='int32')
data2.tofile(f, sep=' ', format='float32')
with open(filename, mode="rb") as f:
#f.seek(0)
data1 = np.fromfile(f, dtype=np.int32, count=int_length)
data2 = np.fromfile(f, dtype=np.float32, count=float_length)
save和load
#单个数组
arr = np.arange(11)
np.save('array.npy', arr)
arr_load = np.load('array.npy')
#多个数组,以字典的形式存储
arr_1 = np.arange(10, 31)
arr_2 = np.arange(11, 32)
np.savez('other_array.npz', a=arr_1, b=arr_2)
data = np.load('other_array.npz')# allow_pickle=True
savetxt和loadtxt
data = np.ones((5,3))
np.savetxt(fname = "./data.csv", X=data, delimiter=',', encoding='utf-8')
data = np.loadtxt("./data.csv", delimiter=',', usecols=(0,1))
2. import pickle
dump和load
data = {'name': 'John', 'age': 30, 'city': 'New York'}
with open('data.pkl', 'wb') as file:
pickle.dump(data, file)
with open('data.pkl', 'rb') as file:
loaded_data = pickle.load(file)