在matlab中处理具有特定扩展名的文件列表

时间:2011-09-02 18:24:39

标签: matlab

如何在文件夹中处理扩展名为“.xyz”的所有文件?基本思想是我需要一个文件名列表,然后是一个for循环来加载每个文件。

4 个答案:

答案 0 :(得分:26)

正如其他人已经提到的,您应该使用DIR功能列出目录中的文件。

如果你还在寻找,这是一个展示如何使用该功能的例子:

dirName = 'C:\path\to\folder';              %# folder path
files = dir( fullfile(dirName,'*.xyz') );   %# list all *.xyz files
files = {files.name}';                      %'# file names

data = cell(numel(files),1);                %# store file contents
for i=1:numel(files)
    fname = fullfile(dirName,files{i});     %# full path to file
    data{i} = myLoadFunction(fname);        %# load file
end

当然,您必须提供实际读取和解析XYZ文件的函数。

答案 1 :(得分:18)

使用dir()获取文件名列表。您可以指定通配符。

答案 2 :(得分:4)

您可以使用

fileName=ls('*xyz')

fileName变量将包含您可以在for循环中使用的所有文件名的列表

答案 3 :(得分:0)

以下是我的回答:

dirName = 'E:\My Matlab\5';
[sub,fls] = subdir(dirName);
D = [];
j = 1;
for i=1:length(sub),
    files{i} = dir( fullfile(sub{i},'*.xyz') );
    if length(files{i})==1
        D(j) = i; 
        files_s{j} = sub{i}; 
        j=j+1;
    end
end

变量files_s返回包含这些特定数据类型的所需路径!

可以在以下位置找到subdir函数: http://www.mathworks.com/matlabcentral/fileexchange/1492-subdir--new-