python的数据存储与读写

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) #从特定位置读起offset=8

#多个数组
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)
Smilie Vote is loading.
✿ 阅读数:82  分类:文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code