how to merge multiple files ?
13 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lilya
el 17 de Mzo. de 2023
Comentada: Lilya
el 17 de Mzo. de 2023
Hi- I want to merge multiple files into one file by selecting one of those files specifically to be the header
I've tried the following code, which I found in the Matlab community. But the first line is not the header I want.
the name of the header file is: header.405
any help will be appreciated
projectdir = uigetdir('pub/eph/planets/ascii/de405');
dinfo = dir( fullfile(projectdir, '*.405') );
filenames = fullfile( projectdir, {dinfo.name} );
output='merged.txt';
fidout=fopen(output,'w');
for cnt=1:length(dinfo)
fprintf(fidout,'%s\n',dinfo(cnt).name);
fidin=fopen(dinfo(cnt).name);
fwrite(fidout,fread(fidin));
fprintf(fidout,'\n');
fclose(fidin);
end
fclose(fidout);
0 comentarios
Respuesta aceptada
Antoni Garcia-Herreros
el 17 de Mzo. de 2023
Hello Lilya,
I'm guessing the problem is your header.405 is not the first file listed in dinfo. What you could do i find the position of your header file and set it to be the first.
Index = find(contains(filenames,'header')); % Find the position of the header file
F=[filenames(Index),filenames];
F(Index+1)=[];
output='merged.txt';
fidout=fopen(output,'w');
for cnt=1:length(F)
fprintf(fidout,'%s\n',F(cnt));
fidin=fopen(F(cnt));
fwrite(fidout,fread(fidin));
fprintf(fidout,'\n');
fclose(fidin);
end
fclose(fidout);
Hope this works!
Más respuestas (0)
Ver también
Categorías
Más información sobre File Operations 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!