How can I export only specific data from a text file to a matrix?
Ältere Kommentare anzeigen
I'm need to import only the numeric data of the attached .txt file into a 9x8 matrix and I'm not sure how to do this. Any help is greatly appreciated!
3 Kommentare
dpb
am 24 Jul. 2019
What Adam said...
But, it's generally simpler to read what section of a file contains the info of interest and then just throw out what you don't need than it is to specifically hunt and peck through a file reading a bit here and there.
But, it certainly isn't at all clear what you want to retrieve from this file given the question wording...
Caleb Sanders
am 25 Jul. 2019
Akzeptierte Antwort
Weitere Antworten (1)
Adam Danz
am 25 Jul. 2019
rows = 11:19; % NUMERIC ROWS IN TEXT FILE TO IMPORT
nColumns = 8; % NUMBER OF COLUMNS OF TEXT
file = 'Testdata.txt'; % THE FULL PATH WOULD BE BETTER
opts = delimitedTextImportOptions('NumVariables',nColumns,'DataLines',rows([1,end]),'Delimiter', " ", ...
'VariableTypes',repmat({'double'},1,nColumns),'ConsecutiveDelimitersRule','join',...
'LeadingDelimitersRule','ignore');
Testdata = readtable(file, opts);
Testdata = table2array(Testdata);
Result
Testdata =
245 14 12 11 -1 -1 -1 -1
410 25 28 26 -1 -1 -1 -1
610 34 -1 34 -1 -1 -1 -1
1415 45 49 55 -1 -1 -1 -1
2695 104 -1 68 -1 -1 -1 -1
2800 -1 -1 -1 68 68 -1 -1
4995 107 113 126 -1 -1 -1 -1
8800 223 230 218 -1 -1 -1 -1
15400 519 549 496 -1 -1 -1 -1
5 Kommentare
Caleb Sanders
am 25 Jul. 2019
Adam Danz
am 25 Jul. 2019
No problem! The main difference between this solution and Jan's is that this one only reads in the matrix data while Jan's reads in the whole file and then hones in on the matrix data.
madhan ravi
am 25 Jul. 2019
Last line is simply Testdata{:,:}
@madhan ravi, it's the same. That's the only line in the table2array function. Matlab's import data tool uses table2array() which is why I ended up using it, too. But I agree that Testdata{:,:} is more direct.
Jeremy Hughes
am 25 Jul. 2019
Or if you have R2019a
Testdata = readtable(file, opts);
Testdata = table2array(Testdata);
can just be
A = readmatrix(file,opts)
Kategorien
Mehr zu String finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!