Effacer les filtres
Effacer les filtres

merging two text files and generate 1000 copies of the new text (or dat) file

1 vue (au cours des 30 derniers jours)
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.

Réponse acceptée

Sergey Kasyanov
Sergey Kasyanov le 6 Avr 2018
Modifié(e) : Sergey Kasyanov le 6 Avr 2018
You should to read help for sprintf and fprintf for operating with this code.
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 commentaires
Sergey Kasyanov
Sergey Kasyanov le 6 Avr 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
Mohammed Hadi
Mohammed Hadi le 6 Avr 2018
Yes, dear Sergey, it is fully working now
Thank you very much indeed

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Import and Export dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by