merging two text files and generate 1000 copies of the new text (or dat) file
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Mohammed Hadi
am 6 Apr. 2018
Kommentiert: Mohammed Hadi
am 6 Apr. 2018
Hi, I need to generate a 1000 text (or dat) files to be fed into another software. I have two text files (aa.txt and bb.txt) and an equation that generates random numbers. The produced text (or dat) file is to be comprised of aa.txt , the randomly generated numbers and finally the contents of bb.txt.
0 Kommentare
Akzeptierte Antwort
Sergey Kasyanov
am 6 Apr. 2018
Bearbeitet: Sergey Kasyanov
am 6 Apr. 2018
Also I used dirty solution for new string line for Windows: char([13,10]) because matlabs '\n' is not working on my computer. You may use '\n'.
Files={'aa.txt','bb.txt'};
Fids=[fopen(Files{1},'r'),fopen(Files{2},'r')];
DataBefore=textscan(Fids(1),'%s');
DataAfter=textscan(Fids(2),'%s');
fclose(Fids(1));
fclose(Fids(2));
for i=1:10
%There you can name output files
FID=fopen(sprintf('output_%i.txt',i),'w');
for j=1:length(DataBefore{1})
fprintf(FID,['%s',char([13,10])],DataBefore{1}{j});
end
RandomNumbers=rand(1e3,1);
for j=1:length(RandomNumbers)
%There you should define number printing type and length
fprintf(FID,['%5.2f',char([13,10])],RandomNumbers(j));
end
for j=1:length(DataAfter{1})
fprintf(FID,['%s',char([13,10])],DataAfter{1}{j});
end
fclose(FID);
end
3 Kommentare
Sergey Kasyanov
am 6 Apr. 2018
I made a mistake. Sorry. Below is better version.
DataBefore=fileread('aa.txt');
DataAfter=fileread('bb.txt');
for i=1:10
%There you can name output files
FID=fopen(sprintf('output_%i.txt',i),'w');
fprintf(FID,'%s',DataBefore);
RandomNumbers=rand(1e3,1);
for j=1:length(RandomNumbers)
%There you should define number printing type and length
fprintf(FID,['%5.2f',char([13,10])],RandomNumbers(j));
end
fprintf(FID,'%s',DataAfter);
fclose(FID);
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Language Support finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!