Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在matlab中处理具有特定扩展名的文件列表_Matlab - Fatal编程技术网

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

在matlab中处理具有特定扩展名的文件列表,matlab,Matlab,如何处理文件夹中扩展名为“.xyz”的所有文件?基本思想是,我需要一个文件名列表,然后使用for循环加载每个文件 用于获取文件名列表。您可以指定通配符。您可以使用 fileName=ls('*xyz') fileName变量将包含可在for循环中使用的所有文件名的列表正如其他人已经提到的,您应该使用DIR函数列出目录中的文件 如果您仍在查看,下面是一个示例,演示如何使用该函数: dirName = 'C:\path\to\folder'; %# folder path

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

用于获取文件名列表。您可以指定通配符。

您可以使用

fileName=ls('*xyz')


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

正如其他人已经提到的,您应该使用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文件的函数。

以下是我的答案:

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
varaible
files\u s
返回包含这些特定数据类型的所需路径

细分功能可在以下位置找到:

小心,在Windows或Unix上返回不同的语法!这会给文件名增加空间,使其长度相等,这不好。@LWZ:不必要的空间可以用标准strtrim函数删除。