merging two text files and generate 1000 copies of the new text (or dat) file
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Mohammed Hadi
il 6 Apr 2018
Commentato: Mohammed Hadi
il 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 Commenti
Risposta accettata
Sergey Kasyanov
il 6 Apr 2018
Modificato: Sergey Kasyanov
il 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 Commenti
Sergey Kasyanov
il 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
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Language Support in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!