[MATLAB函数分享]dir函数,批量读取指定文件夹下特定格式文档

还记得今年数学建模的B题么,面对一个文件夹下的大量图片数据,很多人写了几百行重复的代码区读取各个图片,其实我们可以用dir函数获取此文件夹下的文件名,然后加以筛选,就可以批量获取我们需要的文件名,进而读取数据。
今天大家可以先百度搜索关键字“MATLAB dir”或者doc dir,看看这个函数的基本用法。
一般的用法则为strnam = dir('path\*.#')
path是你想要获取的文件夹路径,*是通配符,#是你想获取的文件类型,比如jpg

 

例子说明:本例是读取deal文件夹下所有jpg图片文件的数据,存储于元胞中。


clc,clear,close all
finf = dir('deal\*.jpg');
n = length(finf);
data = cell(n,1);
for k=1:n
    filename = ['deal\',finf(k).name];
    data{k} = importfile(filename);
end

第二行功能为返回deal文件夹下所有后缀名为jpg文件的属性。

 whos finf
  Name       Size            Bytes  Class     Attributes

  finf      86x1             32378  struct

finf =

86x1 struct array with fields:
    name
    date
    bytes
    isdir
    datenum

finf是一个结构体数组,包含的deal下86个jpg文件的名称、修改时间、大小、是否文件夹等属性。

第三行为获取数组的大小。

第四行创建n*1的元胞。

第6行构造第k个文件的位置(合并文件路径和文件名)

第7行调用importfile函数读取该文件的数据。(importfile函数属于import tool自动生成,生成方法本节暂不做说明)



The End:

关注NewCloudTech微博,每日更新编程知识用法,提高编程水平,就从关注NewCloudTech开始!

你可能感兴趣的:(Matlab)