Merging text files according to time
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Astik Sachan
2019 年 8 月 8 日
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 件のコメント
Astik Sachan
2019 年 8 月 9 日
編集済み: Astik Sachan
2019 年 8 月 9 日
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.
参考
カテゴリ
Help Center および File Exchange で Data Import and Export についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!