我有一个数组,我用importdata读入Matlab。它有5个标题行
file ='aoao.csv';
s = importdata(file,',',5);
Matlab会自动将最后一行视为列标题。然后,我可以调出我想要的列号 s.data(:,N); %n是所需的列号
我希望能够一次加载许多类似的文件,然后调用具有相同列标题名称的不同文件中的列(不一定是相同的列号)。我希望能够将所有这些列一起编写并导出到一个新的矩阵中,最好每列都用其文件名标记,
我该怎么办?
答案 0 :(得分:0)
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
这将从每个文件中的命名colheader中检索数据