python存储numpy数据为文件_3.5Python数据处理篇之Numpy系列(五)---numpy文件的存取

目录:

目录:

1.以文本形式存取

2.以任意的形式存取

3.以np自定义的形式存取

(一)以文本形式存取

1.说明:

(1)适用范围:存储一维,二维数组

(2)局限性:不能存储多维数组

2.语法解释:

(1)写文件

从数组到文件

np.savetxt(frame,array,fmt="%1.8e",delimiter=None)

frame -> 文件名,字符串

array -> 数据的来源,数组

fmt ->写入的格式

delimiter ->分隔符

(2)读文件

从文件到数组

np.loadtxt(frame,dtype=np.float,delimiter=None)

frame -> 数据的来源,文件名,字符串

dtype -> 数据读取的格式类型

delimiter ->分隔符

3.实例(以.csv文件为例)

import numpy as np

# 生成一个数组

a = np.arange(100).reshape(5,20)

# 写入到文件

np.savetxt('a.csv',a,fmt="%2d",delimiter=',')

# 读取到数组变量

b = np.loadtxt('a.csv',dtype=np.float,delimiter=',')

print(b)

csv文件是一种常用的数据存储方式,可以用excel操作,分隔符是用逗号。

4.效果展示

(二)以任意的形式存取

1.说明:

适用范围:可以是任意种文件类型.txt .bat .csv .dot

局限性:丢失了数据的维度信息,按顺序存储数据。

2.语法解释:

(1)写文件

a.tofile(frame,sep='',format='%s')

a ->数组

frame ->文件名,字符串

sep ->分隔符,空串或默认是写入的是二进制文件

format ->写入的格式

(2)读文件

np.fromfile(frame,dtype=np.float,count=-1,sep='')

frame ->文件名,字符串

dtype ->读出的格式

count ->读出的数个数,索引

sep ->分隔符

返回值:数组

3.实例(以.bat二进制文件为例)

# 导入numpy

import numpy as np

# 生成数组

a = np.arange(100).reshape(5,10,2)

# 写入文件

a.tofile("b_b.bat",sep=",",format="%2d")

# 读出文件

c = np.fromfile("b.dat",dtype=np.int,sep="").reshape(5,2,10)

print(c)

二进制的文件,分割符必须是空串,其优势是占用内存小

4.效果展示

(1)二进制文件:

(二)文本文件:

(三)以np自定义的形式存取

1.说明:

适用范围:任意维度的数组

局限性:必须以numpy自定义的文件格式,而且是二进制文件。

2.语法解释:

(1)写文件

np.save(fname,array)

fname -> 文件名称,以普通格式.npy和压缩格式.npz为后缀名

array ->数组

(2)读文件

np.load(fname)

fname -> 文件名,以普通格式.npy和压缩格式.npz为后缀名

返回值:存储时的数组。

3.实例:

import numpy as np

a = np.arange(10000).reshape(10,10,100)

# writer file

np.save("01.npy",a)

np.savez("01.npz",a)

# read file

b = np.load("01.npy")

c = np.load("01.npz")

print(b)

print(c)

4.实例展示

你可能感兴趣的:(python存储numpy数据为文件_3.5Python数据处理篇之Numpy系列(五)---numpy文件的存取)