Matlab: поиск / запись данных из нескольких файлов по тексту заголовка столбца - PullRequest
0 голосов
/ 26 июля 2011

У меня есть массив, который я читал в Matlab с importdata. Имеет 5 строк заголовка

file = 'aoao.csv';
s = importdata (файл, ',', 5);

Matlab автоматически обрабатывает последнюю строку как заголовок столбца. Затем я могу позвонить по номеру нужного столбца с помощью
s.data (:, п); % n желаемый номер столбца

Я хочу иметь возможность загружать много похожих файлов одновременно, а затем вызывать столбцы в разных файлах, которые имеют одинаковое имя заголовка столбца (которые не обязательно совпадают с номером столбца). Я хочу иметь возможность записывать и экспортировать все эти столбцы вместе в новую матрицу, желательно с каждым столбцом, отмеченным именем файла,

что мне делать?

1 Ответ

0 голосов
/ 28 июля 2011
samp = 'len-c.mp3'; %# define desired sample/column header name  

file = dir('*.csv');

готов каталог в текущей папке основного экрана.Это создает подробное описание файла,

for i=1:length(file)  
    set(i) = importdata(file(i).name,',', 5);   
end  

, которое импортирует данные из каждого файла (разделенные запятыми, 5 строк заголовка) и переносит их в массив ячеек с именем 'set'

for k = 1:14;  
    for i=1:length(set(k).colheaders)  
        TF = strcmp(set(k).colheaders(i),samp); %compares strings for match  
        if TF == 1; %if match is true  
        group(:,k) = set(k).data(:,i); %save matching column# to 'group'  
        end  
    end  
end  

извлекает данные из именованного заголовка в каждом файле

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...