MATLAB: Read specific column from .txt file with unkown format

textscanunknown_format

Hello all, I am a beginner in matlab. I’m trying to import specific rows from a .txt file where the file format is unknown. Actually, the existing solutions allow me only to get rows instead of columns. For example, I want to read from the attached file, the column n=2 that includes (V1 D3 6.52 4.91 3.00 2.05 0.69 NAN NAN NAN) and to store the result into an array.

Best Answer

content = fileread( 'Info.txt' ) ;
nCols = numel( strsplit( regexp( content, '[^\r\n]+', 'match', 'once' ), ' ')) ;
data = reshape( regexp(content, '\s+', 'split'), nCols, [] ).' ;
header = data(1:2,:) ;
data = str2double( data(3:end,:) ) ;
and then you can pick any column in both header and data. Or you can use the simpler:
data = importdata( 'Info.txt' ) ;
and see which field provides you with what you need.