Python中的Matlab'fscanf'等效项是什么? [英] What is the equivalent of Matlab 'fscanf' in Python?

查看:245
本文介绍了Python中的Matlab'fscanf'等效项是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

The Matlab function fscanf() seems to be very powerful. Is there any equivalent of the same in python (or numpy)?

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

Specifically I want to read a matrix from file but I don't want to iterate through each line to read the matrix. Something of this sort (from matlab for reading a 2D 1000x1000 matrix):

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

推荐答案

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

Python has no built-in fscanf function. The closest way to do it is to read the file line by line and use regular expressions.

Numpy (类似于Matlab的Python库)具有允许读取文件的功能.并从is内容构造一个数组: numpy.fromfile (或根据其他答案的建议, numpy.loadtxt 在这种情况下可能更合适.)

Numpy (the Matlab-like Python library), however, has a function that allows to read a file and construct an array from is content : numpy.fromfile (or, as suggested in the other answers, numpy.loadtxt may be more suitable in this case).

这篇关于Python中的Matlab'fscanf'等效项是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆