在文件中导入多个CSV

时间:2012-02-12 16:42:05

标签: matlab loops delimited-text

我尝试将多个csv文件导入一个文件。但是,新文件会覆盖“原始”文件。 仅导入其中最后一个处理过的。循环可能有问题,但我不知道在哪里改变。

这就是我所拥有的:

p=dir('C:\foldername\*.csv');
for i=1:length(p)
     [num, text, all]= xlsread(['C:\foldername\', p(i).name]);
end

2 个答案:

答案 0 :(得分:1)

您正在覆盖循环中的变量。 尝试收集单元格数组中的所有内容:

num = {};
text = {};
all = {};
p=dir('C:\foldername\*.csv');
for i=1:length(p)
    [num{end+1}, text{end+1}, all{end+1}]= xlsread(['C:\foldername\', p(i).name]);
end

答案 1 :(得分:0)

您不能将所有内容都读入相同的变量,但可以将它们放在不同的维度中。

p=dir('C:\foldername\*.csv');
num = cell(size(p));
text = cell(size(p));
all = cell(size(p));
for i=1:length(p)
    [num{i}, text{i}, all{i}]= xlsread(['C:\foldername\', p(i).name]);
end