循环遍历matlab中的文件夹中的文件

时间:2012-07-23 23:10:02

标签: matlab loops file-io csv

我有一天的日志文件,我需要在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 个答案:

答案 0 :(得分:91)

循环浏览文件夹中的所有文件相对简单:

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

答案 1 :(得分:2)

首先,必须指定路径,即*.csv文件所在的路径

path = 'f:\project\dataset'

您可以根据您的系统进行更改。

然后

使用dir函数:

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也可以使用。