how to merge text files

for k = 1:100
fname = ['Image' num2str(k) '.txt'];
fid = fopen(fname,'wt');
for j=1:length(R)
fprintf(fid,'%f %f %f\n',R(j),C(j) ,Z(j));
end
fclose(fid);
end
I got 100 text files from this code, In it R,C,Z will be saved as columns.. Now, i want to merge all this text files in single text file as R,C,Z columns.. so, how to do..?

 采纳的回答

OS-X and Linux version:
!cat Image???.txt > all_Image.txt
No point in writing code when the operating system already has the facilities.

3 个评论

Image1.txt will be the name of text file created from Image1.jpg ans so, Image2.txt, Image3.txt,...
I have done same thing for excel files,and it works but it takes too long time..
m = 0;
for j = 1:100
global filename
filename = ['Image' num2str(j),'.xls'];
w = xlsread(filename,1,'A1:A1000');
u = xlsread(filename,1,'B1:B1000');
t = xlsread(filename,1,'C1:C1000');
q = length(w);
p = m+1;
R(1, p:(m+q)) = w;
R(2, p:(m+q)) = u;
R(3, p:(m+q)) = t;
xlswrite('lalits.xls',R');
y = xlsread('lalits',1,'A1:A65565');
m = length(y);
end
I misread your code and thought you were using 001 and so on. The correction would be
!cat Image*.txt > all_Image.txt
How you calculated the values in the vectors (e.g., by processing .JPG files) is not important to the task of merging the text files.
Each time you start up xlsread() or xlswrite() a new ActiveX connection is made to Excel (if you are using MS Windows.) That is slow. Your code for doing the appending is also pretty inefficient, writing to the xls file and reading it back immediately.
outfid = fopen('all_Image.txt', 'wt');
for j = 1 : 100
filename = ['Image' num2str(j),'.txt'];
fwrite(outfid, fileread(filename));
end
fclose(outfid)

请先登录,再进行评论。

更多回答(1 个)

Lalit Patil
Lalit Patil 2012-11-8

0 个投票

Thanks for help... I got solution..

类别

帮助中心File Exchange 中查找有关 Use COM Objects in MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by