web-gelistirme-sc.com

Matlab içindeki bir klasördeki dosyalar arasında dolaş

Ayrıştırmam ve matlab'a bakmam gereken birkaç günlük günlük dosyam var. 

Günlük dosyaları şöyle görünür:

LOG_20120509_120002_002.csv
(year)(month)(day)_(hour)(minute)(second)_(log part number)

Kayıtlar saatlik olarak artmaktadır, ancak bazen saniye (bir saat) kapalı bir ya da iki saniyedir, bu da ne yapmaları gerektiğini söylediklerini göz ardı etmem gerek. loadcsv.

Ayrıca başka bir dosyam var:

LOG_DATA_20120509_120002.csv

tüm saat boyunca veri içeren (farklı veriler). 

Genel amaç şudur: 

 loop through each day 
     loop through each hour
         read in LOG_DATA for whole hour
         loop through each segment
             read in LOG for each segment
                 compile a table of all the data

Sanırım soru şu ki, eğer farklılarsa günün dakikasını nasıl görmezden gelebilirim? Klasördeki tüm dosyalar arasında dolaşarak olacağından şüpheleniyorum, bu durumda bunu nasıl yaparım?

51
Fantastic Mr Fox

Klasördeki tüm dosyalar arasında dolaşmak nispeten kolaydır:

files = dir('*.csv');
for file = files'
    csv = load(file.name);
    % Do some stuff
end
88
Isaac

İlk önce, yolunuzu belirtmelisiniz, *.csv dosyalarınızın bulunduğu yol

path = 'f:\project\dataset'

Sisteminize göre değiştirebilirsiniz.

sonra,

dir işlevini kullanın:

files = dir (strcat(path,'\*.csv'))

L = length (files);

for i=1:L
   image{i}=csvread(strcat(path,'\',file(i).name));   
   % process the image in here
end

pwd ayrıca kullanılabilir. 

2
PyMatFlow