combine multiple text files into one text file with a loop
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi
I have multiple text files with names like 1.txt, 2.txt, 3.txt...... Each file has a single row of data(same format and length), I am think about combining those files into one text file which has a matrix data.
For example
1.txt has a row of " 1 3 4 8...."
2.txt has a row of " 3 5 7 3...."
3.txt has a row of " 9 1 3 5...."
......
I want to combine them into a file with a matrix like below,
1 3 4 8....
3 5 7 3....
9 1 3 5....
I know I can do system('copy 1.txt+2.txt+3.txt MyBigFat.txt'), but if I have over 100 or even 1000 text files can I save myself the trouble from doing system('copy 1.txt +2.txt+ 3.txt +...+1000.txt')?
Thanks in advance!
1 comentario
Walter Roberson
el 23 de Feb. de 2019
You can generate the command to system()
s = sprintf('%d.txt+', 1:999);
s = ['copy ', s, '+1000.txt MyBigFat.txt'];
system(s)
Respuestas (2)
Andrei Bobrov
el 30 de Mayo de 2012
k = arrayfun(@(x)dlmread([num2str(x),'.txt']),1:3,'un',0)
out = cat(1,k{:})
dlmwrite('4.txt',out,'delimiter', ' ')
0 comentarios
Walter Roberson
el 30 de Mayo de 2012
2 comentarios
Kjersti Ensrud
el 22 de Feb. de 2019
Do you know how to get each .txt-file to start at a new line. Something like \n ?
Walter Roberson
el 23 de Feb. de 2019
Is it the case that you are reading in a number of files, and building up one large numeric array from them, and that you want to write out the numeric array, but with an empty line between where the boundaries of the files used to be?
Ver también
Categorías
Más información sobre Workspace Variables and MAT Files en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!