写多个.csv文件

时间:2016-10-24 18:06:42

标签: matlab

我在Matlab(1x149)中有一个单元格数组:每个单元格包含来自单独.txt文件的数据。我使用以下代码加载.txt个文件

d = dir('*.txt');
nfiles = length(d);
data = cell(1, nfiles);
for k = 1:nfiles
data{k} = importdata(d(k).name);
end

第1栏至第5栏

[39676x182 double]    [39676x182 double]    [39676x182 double]    [39676x182 double]    [39676x182 double]

我想为每个单元格编写单独的.csv文件。

我尝试使用csvwrite,但它提供了一个我无法真正使用的大文件。我正在尝试编写一个for循环来将每个单元格写入单独的CSV文件

1 个答案:

答案 0 :(得分:0)

我刚试过这个并生成了一些适合你问题的随机数字。

test = mat2cell(randi(50,39676*5,182),[39676,39676,39676,39676,39676],182);
test = test';

给我:

test = 

    [39676x182 double]    [39676x182 double]    [39676x182 double]    [39676x182 double]    [39676x182 double]

通过以下方式循环:

 for i = 1:5
    csvwrite(strcat('file',num2str(i),'.csv'),test{1,i})
 end

五个* .csv文件(file1.csv,file2.csv,...)中的结果。使用strcat获取文件名可以更好地解决,但我不知道如何。