Read matrix from a txt file after a specific expression
1 view (last 30 days)
Show older comments
Hello i m new with matlab, i need to read in a text file after a specific expression 'This section' and 3 header lines (A, B and C) a matrix with 3 colones and 10 rows
This section
A
B
C
1 23.0 5.33
2 12.4 6.07
10 22.4 64.07
3 Comments
Accepted Answer
Cedric
on 5 Apr 2013
Edited: Cedric
on 5 Apr 2013
You should use TEXTREAD with the 'heaerlines' parameter set to the number of lines (e.g. 3) that characterizes your header.
For example:
>> [id,temp,press] = textread('myData.txt', '%f %f %f', 'headerlines', 3)
id =
1
2
10
temp =
23.0000
12.4000
22.4000
press =
5.3300
6.0700
64.0700
3 Comments
Cedric
on 7 Apr 2013
Edited: Cedric
on 7 Apr 2013
Then you can tailor the following code to your needs:
fid = fopen('data.txt', 'r') ;
% Read lines until 'This section' found or FEOF.
while ~(strcmpi(fgetl(fid), 'this section') || feof(fid)) end
% Skip next 3 lines.
fgetl(fid) ; fgetl(fid) ; fgetl(fid) ;
% Read and reshape data.
data = reshape(fscanf(fid, '%f'), [], 3).' ;
fclose(fid) ;
Note that you should manage cases where 'This section', the three header lines, or data, are not found.
More Answers (0)
See Also
Categories
Find more on Low-Level File I/O in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!