Цикл через файлы в папке в matlab


у меня есть набор дней файлов журнала, которые мне нужно разобрать и посмотреть в matlab.

файлы журнала выглядят так:

LOG_20120509_120002_002.csv
(year)(month)(day)_(hour)(minute)(second)_(log part number)

журналы увеличиваются ежечасно, но иногда секунды составляют одну или две секунды (в час), что означает, что мне нужно игнорировать то, что они говорят делать loadcsv.

у меня также есть другой файл:

LOG_DATA_20120509_120002.csv

который содержит данные за весь час (разные данные).

общая цель -:

 loop through each day 
     loop through each hour
         read in LOG_DATA for whole hour
         loop through each segment
             read in LOG for each segment
                 compile a table of all the data

Я думаю, вопрос в том, как я могу игнорировать минуты дня, если они разные? Я подозреваю, что это будет путем перебора всех файлов в папке, и в этом случае как мне это сделать?

2 51

2 ответа:

перебирать все файлы в папке относительно легко:

files = dir('*.csv');
for file = files'
    csv = load(file.name);
    % Do some stuff
end

во-первых, вы должны указать свой путь, путь, что ваш *.csv файлы здесь

path = 'f:\project\dataset'

вы можете изменить его на основе вашей системы.

затем,

использовать :

files = dir (strcat(path,'\*.csv'))

L = length (files);

for i=1:L
   image{i}=csvread(strcat(path,'\',file(i).name));   
   % process the image in here
end

pwd также можно использовать.