Create multiple copies of a .txt file according to N x 1 array
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Matthew Worker
el 19 de Sept. de 2023
Comentada: Dyuman Joshi
el 19 de Sept. de 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 comentarios
Dyuman Joshi
el 19 de Sept. de 2023
Can you attach the text file - 'MyFile.txt' ? Use the paperclip button to attach.
Respuesta aceptada
Dyuman Joshi
el 19 de Sept. de 2023
Editada: Dyuman Joshi
el 19 de Sept. de 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 comentarios
Dyuman Joshi
el 19 de Sept. de 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
Más respuestas (0)
Ver también
Categorías
Más información sobre Environment and Settings 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!