目录:
[TOC]
目录:
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二进制文件为例)
# 导入numpyimport 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 npa = np.arange(10000).reshape(10,10,100)# writer file np.save("01.npy",a)np.savez("01.npz",a)# read fileb = np.load("01.npy")c = np.load("01.npz")print(b)print(c)
4.实例展示
文章转载于:https://www.jianshu.com/p/f114783a0a54
原著是一个有趣的人,若有侵权,请通知删除