Read files in a specific order
显示 更早的评论
Hi, I have a series of files named with a date, for every third hour i.e. "NUM_1985_6_4_0_0.dat", "NUM_1985_6_4_3_0.dat", "NUM_1985_6_4_6_0.dat" ,....., "NUM_1985_6_4_21_0.dat",......, "NUM_1985_6_10_21_0.dat", "NUM_1985_6_11_0_0.dat". I'm using the dir command before using the fopen command. Is there any option when using the dir command to be able to list the files on a specific order. I would like to read the files by dates, however, the dir command gives me a list of files where the first one is "NUM_1985_6_10_0_0.dat" following a different logic, where the number 1 goes first in the list.
Thanks
采纳的回答
更多回答(1 个)
Rik
2018-5-23
You can sort the output or dir any way you like. See below for an example.
filelist=dir('NUM_*.dat');
dates=[filelist.datenum];
[~,order]=sort(dates);
filelist=filelist(order);
3 个评论
Isma_gp
2018-5-23
This is a very fragile solution, because it assumes that the files themselves were written in the same order as the data was recorded: this will break easily, e.g. any time a file is edited, or if the files are copied from one folder to another.
"Can we sort the name field from dir?"
Yes. See my answer to know how.
Bin Qi
2021-2-4
Thank you!
类别
在 帮助中心 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!