查看单个帖子
旧 2019-12-14, 20:46   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在Python中相当于Matlab'fscanf'吗?

Matlab函数fscanf()似乎非常强大。在python(或numpy)中是否有相同的东西?

具体来说,我想从文件中读取矩阵,但不想遍历每一行以读取矩阵。这种东西(从matlab读取2D 1000x1000矩阵):

matrix = fscanf(fopen('input.txt'),'%d',[1000,1000]);

回答:

Python没有内置的fscanf函数。最接近的方法是逐行读取文件并使用正则表达式。

Numpy (类似于Matlab的Python库)具有一个允许从content读取文件并构造数组的函数: numpy.fromfile (或者,如其他答案所述, numpy.loadtxt可能更适合于这个案例)。



更多&回答...
poster 当前离线   回复时引用此帖