NumPy IO


NumPy是Python一个重要的科学计算库,提供了强大的多维数组对象,以及强大的函数库用于操作这些对象。NumPy还提供了一些常用的IO功能,以便于用户读写文件。

读写文本文件 对于读写普通的文本文件,NumPy提供了两个主要函数loadtxt和savetxt。loadtxt函数可以将文本文件中的数据读入到NumPy数组中,以便于后续进行处理,而savetxt函数可以将NumPy数组中的数据保存到文本文件中。这两个函数的主要参数有:

文件名:要读写的文件名。 数据类型:读取或写入的数据类型,可以是float、int、str或任意NumPy数组的dtype类型。 分隔符:数据之间用什么符号分隔,默认为空格。 跳过行数:跳过文件中前面的几行,可以用于文件中有注释等的情况。 使用示例:

from numpy import loadtxt, savetxt

读取文本文件中的数据

data = loadtxt(‘data.txt’, dtype=int, delimiter=’,’)

将NumPy数组中的数据保存到文本文件中

savetxt(‘output.txt’, data, fmt=’%d’, delimiter=’,’)

读写二进制文件 对于读写二进制文件,NumPy提供了两种主要的函数load和save。load函数可以将二进制文件中的数组加载到NumPy中,save函数可以将NumPy数组中的数据保存为二进制文件。这两个函数的主要参数有:

文件名:要读写的文件名。 数组类型:要读取或写入的数组类型。 使用示例:

from numpy import load, save, zeros, ones

从二进制文件中加载数组

array = load(‘array.npy’)

将数组保存到二进制文件中

data = ones((3, 3)) save(‘ones.npy’, data)

Matlab文件接口 对于Matlab用户,NumPy也提供了读写Matlab数据文件的接口。使用这些接口可以直接将Matlab中的变量读取到Python中进行处理,或将Python中的变量保存为Matlab格式以供Matlab使用。NumPy提供了两个函数:loadmat和savemat。这两个函数的主要参数有:

文件名:要读写的文件名,路径。 变量名:读取或保存的变量名。 使用示例:

from scipy.io import loadmat, savemat

从Matlab文件中加载变量

mat = loadmat(‘data.mat’)

将变量保存为Matlab文件

data = {‘x’: [1, 2, 3], ‘y’: [4, 5, 6]} savemat(‘outfile.mat’, data)

总结 NumPy提供了多种读写文件的接口,方便用户进行数据处理和交互。使用这些接口可以将数据从文件中读入到Python中,然后进行处理,并重新保存到文件中进行存储。其中最常用的接口是loadtxt和savetxt函数,用于读取和写入文本文件;load和save函数,用于读写二进制数据文件。如果您是Matlab用户,则可以使用loadmat和savemat函数进行Matlab数据文件的读写和交互。