Create multiple copies of a .txt file according to N x 1 array
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Matthew Worker
le 19 Sep 2023
Commenté : Dyuman Joshi
le 19 Sep 2023
I have an N by 1 array that contains random integer values, say A = [101, 790, 477, ... , 999]. I also have a text file, say MyFile.txt, that contains rows of alphanumeric data. I wish to replace an integer value that appears on the 2nd row in MyFile.txt with an integer value from array A and then save this with a unique file name. I wish to repeat this for each element in the array A. This process should result in N text files as follows: MyFile_101.txt, MyFile_790.txt, MyFile_477.txt , ... , MyFile_999.txt.
Is there an efficient way to automate the above using a matlab script?
2 commentaires
Dyuman Joshi
le 19 Sep 2023
Can you attach the text file - 'MyFile.txt' ? Use the paperclip button to attach.
Réponse acceptée
Dyuman Joshi
le 19 Sep 2023
Modifié(e) : Dyuman Joshi
le 19 Sep 2023
The data in the text file is heterogeneous and stored non-uniformly. This approach should work for that -
y = readlines('MyFile.txt')
%String to be replaced
str = strip(y(2))
%Let A be the array of values that need to be replace
A = [101, 790, 477, 999];
for k=1:numel(A)
z=y;
%Replacing the values
z(2) = regexprep(z(2),str,string(A(k)));
%Writing to a text file
%These files will be stored in the current directory
%You can change the path according to where you want to store them
writelines(z,sprintf('MyFile_%d.txt', A(k)));
end
3 commentaires
Dyuman Joshi
le 19 Sep 2023
y = readlines('MyFile.txt');
%String to be replaced
str = strip(y(2));
%Let A be the array of values that need to be replace
A = [101, 790, 477, 999];
for k=1:numel(A)
z=y;
%Replacing the values
z(2) = regexprep(z(2),str,string(A(k)));
%Creating file to store
fid = fopen(sprintf('MyFile_%d.txt', A(k)),'wt');
%Printing the data
fprintf(fid,'%s\n',z);
%Closing the file
fclose(fid);
end
%Checking the contents
type MyFile_790.txt
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Environment and Settings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!