[MATLAB函數分享]dir函數,批量讀取指定檔案夾下特定格式文檔

來源:互聯網
上載者:User

還記得今年數學建模的B題麼,面對一個檔案夾下的大量圖片資料,很多人寫了幾百行重複的代碼區讀取各個圖片,其實我們可以用dir函數擷取此檔案夾下的檔案名稱,然後加以篩選,就可以批量擷取我們需要的檔案名稱,進而讀取資料。
今天大家可以先百度搜尋索引鍵“MATLAB dir”或者doc dir,看看這個函數的基本用法。
一般的用法則為strnam = dir('path\*.#')
path是你想要擷取的檔案夾路徑,*是萬用字元,#是你想擷取的檔案類型,比如jpg

 

例子說明:本例是讀取deal檔案夾下所有jpg圖片檔案的資料,儲存於元胞中。


clc,clear,close allfinf = 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:

關注微博,每日更新編程知識用法,提高編程水平,就從關注開始!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.