我有一个单元格数组。我想将单元格的每个元素写入.csv
文件,并在此过程中具体命名文件。
这是我的尝试:
for i=1:length(somecell)
doublecell{i}=double(somecell{i});
end
for j=1:length(doublecell)
z=doublecell{j};
csvwrite('matrix_%i.csv',z,j)
end
我希望即使它错了,我试图做的也很清楚。
答案 0 :(得分:1)
您可以将代码缩短(并更正):
for i = 1:length(somecell)
doubleVal = double(somecell{i});
csvwrite(sprintf('matrix_%i.csv', i), doubleVal);
end
您不必将双值存储在中间单元格数组中,因为您可以在编写CSV文件时生成元素。
您的代码实际上存在两个问题:
行z=doublecell(j)
生成一个单元格作为索引单元数组,括号生成一个单元格。你需要使用数值,所以这里的大括号索引是正确的:z = doublecell{j}
。
第csvwrite('matrix_%i.csv',z,j)
行不正确。您需要sprintf
来创建文件名(请参阅示例)。