process a list of files with a specific extension name in matlab

后端 未结 4 1533
甜味超标
甜味超标 2020-12-05 20:00

How can I process all the files with \".xyz\" extension in a folder? The basic idea is that I want a list of file names and then a for loop to load each file.

相关标签:
4条回答
  • 2020-12-05 20:07

    Use dir() to obtain a list of filenames. You can specify wildcards.

    0 讨论(0)
  • 2020-12-05 20:15

    Here is my answer:

    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_s returns the desire paths that contain those specific data types!

    The subdir function can be found at: http://www.mathworks.com/matlabcentral/fileexchange/1492-subdir--new-

    0 讨论(0)
  • 2020-12-05 20:17

    You could use

    fileName=ls('*xyz').

    fileName variable will have the list of all the filenames which you can use in the for loop

    0 讨论(0)
  • 2020-12-05 20:31

    As others have already mentioned, you should use the DIR function to list files in a directory.

    If you are still looking, here is an example to show how to use the function:

    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
    

    Of course, you would have to supply the function that actually reads and parses the XYZ files.

    0 讨论(0)
提交回复
热议问题