Write and Merge some set of text files into one text file

3 views (last 30 days)
I want to write some separate text files into on text file with right format. for example my text files are (here '/\' indicate separation of files):
0 1 /\ 0 2 /\ 0 3
0 1 /\ 0 2 /\ 0 3
0 1 /\ 0 2 /\ 0 3
and write these three files into one as:
0 1 2 3
0 1 2 3
0 1 2 3
I tries this piece of code but it didn't work well:
for i=1:3
A=load([num2str(i),'.txt']);
add='mixfiles.txt';
fileID=fopen(add,'a+');
fprintf(fileID,'%6.8f %6.8f %6.8f %6.8f\r\n',A);
fclose(fileID);
end

Accepted Answer

Walter Roberson
Walter Roberson on 1 Jun 2013
fprintf(fileID,'%6.8f %6.8f %6.8f %6.8f\r\n', A.' ); %notice transpose
  2 Comments
Arman Kam
Arman Kam on 1 Jun 2013
Edited: Arman Kam on 1 Jun 2013
Dear Walter, when I change it to transpose, no difference is observed!
With both commands what i get is
1.00000000 1.00000000 1.00000000 2.00000000 2.00000000 2.00000000 3.00000000 3.00000000 3.00000000
Walter Roberson
Walter Roberson on 1 Jun 2013
Is it the case that each file contains 3 lines of data values, 2 columns per line? And you want to horizontally concatenate across the files? If so then you need to read all of the values and concatenate them before you output everything, instead of outputting after each file.
Unless, that is, your aim is to read each file and output it as a single line each, and then afterwards to read back the resulting file with all data and re-arrange the massed data to be in the desired format ?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!