poster
2019-12-14, 20:46
Matlab函数fscanf()似乎非常强大。在python(或numpy)中是否有相同的东西?
具体来说,我想从文件中读取矩阵,但不想遍历每一行以读取矩阵。这种东西(从matlab读取2D 1000x1000矩阵):
matrix = fscanf(fopen('input.txt'),'%d',[1000,1000]);
回答:
Python没有内置的fscanf函数。最接近的方法是逐行读取文件并使用正则表达式。
Numpy (http://numpy.scipy.org/) (类似于Matlab的Python库)具有一个允许从content读取文件并构造数组的函数: numpy.fromfile (http://docs.scipy.org/doc/numpy/reference/generated/numpy.fromfile.html) (或者,如其他答案所述, numpy.loadtxt (http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html#numpy.loadtxt)可能更适合于这个案例)。
更多&回答... (https://stackoverflow.com/questions/5402468)
具体来说,我想从文件中读取矩阵,但不想遍历每一行以读取矩阵。这种东西(从matlab读取2D 1000x1000矩阵):
matrix = fscanf(fopen('input.txt'),'%d',[1000,1000]);
回答:
Python没有内置的fscanf函数。最接近的方法是逐行读取文件并使用正则表达式。
Numpy (http://numpy.scipy.org/) (类似于Matlab的Python库)具有一个允许从content读取文件并构造数组的函数: numpy.fromfile (http://docs.scipy.org/doc/numpy/reference/generated/numpy.fromfile.html) (或者,如其他答案所述, numpy.loadtxt (http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html#numpy.loadtxt)可能更适合于这个案例)。
更多&回答... (https://stackoverflow.com/questions/5402468)