Merging text files according to time
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I am using the following code to merge data from several text files in the directory into a single file
files=dir('*.txt');
fileout='merged.txt';
fout=fopen(fileout,'w');
for cntfiles=1:length(files)
fin=fopen(files(cntfiles).name);
while ~feof(fin)
fprintf(fout,'%s %d\n',fgetl(fin),cntfiles);
end
fclose(fin);
end
fclose(fout);
How do i megre text files according to the time it was created. For instance i have 4 files in a directory and in the merged texted file the first data should be from the 1st file created, the second is the second file created and so on....
0 comentarios
Respuestas (1)
Astik Sachan
el 8 de Ag. de 2019
Hi Shreenath,
What you want is to sort the files (variable) on the basis of Time
Here is the code to do that
files = dir('*.txt')
files = struct2cell(files)
files = files' % to transpose the cell created
[S , I] = sort(files(:,3)); % make sure if '3' is your Time Field
files = files(I,:) % sorted variable files
Enjoy your day!
Thanks
3 comentarios
Astik Sachan
el 9 de Ag. de 2019
Editada: Astik Sachan
el 9 de Ag. de 2019
Try This then
files = dir('*.txt')
files = struct2table(files)
[S , I] = sort(files.datenum);
files = files(I,:)
This is based on Datenum that is a timestamp in Numeric Form.
Ver también
Categorías
Más información sobre File Operations 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!