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

4 vues (au cours des 30 derniers jours)
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);

Réponse acceptée

Walter Roberson
Walter Roberson le 12 Août 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

Plus de réponses (0)

Catégories

En savoir plus sur Large Files and Big Data dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by