How to read two columns from a text file that does not only consist of a table?

17 views (last 30 days)
I have a text file (see attachment) that I want to import into MATLAB. How can I only read/ store the columns 'month' and 'H-Gh'? i.e. I want my output to be:
Jan 33
Feb 52
Mar 97
Apr 123
May 161
Jun 178
Jul 176
Aug 153
Sep 105
Oct 63
Nov 33
Dec 24
so far I only managed to read one element from one column:
while ischar(tline) %returns 1 if tline is a character array and 0 otherwise.
colonLocation = strfind(tline, ['Sep']); %returns the starting indices of any occurrences of PATTERN in TEXT
if ~isempty(colonLocation)
subString = tline(:,[4:7])
output(k) = str2double(subString);
k = k + 1;
end
tline = fgetl(fid);
end
fclose(fid);

Accepted Answer

Walter Roberson
Walter Roberson on 12 Aug 2021
filename = 'https://www.mathworks.com/matlabcentral/answers/uploaded_files/709847/t1_r1_c1125oE-mon.txt';
T = readtable(filename, 'Headerlines', 12);
subset = T(1:12, {'Month', 'H_Gh'})
subset = 12×2 table
Month H_Gh _______ ____ {'Jan'} 33 {'Feb'} 52 {'Mar'} 97 {'Apr'} 123 {'May'} 161 {'Jun'} 178 {'Jul'} 176 {'Aug'} 153 {'Sep'} 105 {'Oct'} 63 {'Nov'} 33 {'Dec'} 24

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!