task 6 输入和输出
numpy二进制文件
两种类型
- npy格式:以二进制的方式存储文件,在二进制文件第一行以文本形式保存了数据的元信息(ndim,dtype,shape等),可以用二进制工具查看内容。保存一个数组。
- npz格式:以压缩打包的方式存储文件,可以用压缩软件解压。可以同时保存多个数组。
两个储存函数
-
numpy.save(file, arr, allow_pickle=True, fix_imports=True)
Save an array to a binary file in NumPy.npy
format.eg.
numpy.save(".\test.npy", x)
-
numpy.savez(file, *args, **kwds)
Save several arrays into a single file in uncompressed.npz
format.eg.
numpy.savez(".\test.npz", x_name=x, y_name=y, z_name=z)
注:savez()
第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为arr_0, arr_1, …
。
savez()
输出的是一个压缩文件(扩展名为npz),其中每个文件都是一个save()
保存的npy文件,文件名对应于数组名。load()
自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为关键字获取数组的内容。
一个导入函数
numpy.load(".\test.npy")
ornumpy.load(".\test.npz")
文本文件
一个存储函数:savetxt()
两个导入函数:loadtxt()
和genfromtxt()
上述函数用来存储和读取文本文件(如TXT,CSV等)。其中genfromtxt()
比loadtxt()
更加强大,可对缺失数据进行处理。
一个存储函数
numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)
Save an array to a text file.
- fname:文件路径
- X:存入文件的数组。
- fmt:写入文件中每个元素的字符串格式,默认’%.18e’(保留18位小数的浮点数形式)。
- delimiter:分割字符串,默认以空格分隔。
eg. numpy.savetxt('.\test.txt', x)
numpy.savetxt('.\test.csv', x, fmt='%.3f', delimiter=