Sort data from text file into columns

4 views (last 30 days)
I have data in a text file of the form:
30.693
43.803
30.305
43.424
30.066
43.213
30.305
43.001
30.523
42.79
33.111
33.316
40.293
33.323
33.502
40.289
33.528
40.413
...
...
I would like matlab to read it into a matrix whereby each block of numbers separated by spaces above and below is made into a separate column where the first block of n numbers makes the first column and the second block of m numbers makes the second column etc, i.e.:
30.693 30.305 ... 33.323 33.528 33.737
43.803 43.424 ... 33.502 40.413 40.62
40.289
Many thanks, I am a beginner so bear with me :)
FYI I have a large number of these text files, all with different size blocks/values within each column, therefore I need a general solution not one for this specific case.

Accepted Answer

Christopher Wallace
Christopher Wallace on 20 Jul 2018
fid = fopen('yourTxt.txt');
A = [];
tline = fgetl(fid);
ii = 1;
jj = 1;
while ischar(tline)
while ~isempty(tline)
A(ii,jj) = str2num(tline);
ii = ii + 1;
disp(tline)
tline = fgetl(fid);
end
ii = 1;
jj = jj + 1;
tline = fgetl(fid);
end
fclose(fid);

More Answers (0)

Categories

Find more on Large Files and Big Data in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!