如何从 matlab 中的元胞数组写入多个 .csv 文件
How to write multiple .csv files from cell array in matlab
我有一个元胞数组。我想将单元格的每个元素写入一个 .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
我希望我试图做的事情是清楚的,即使它是错误的。
您可以将您的代码缩短(并更正)为:
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
来创建文件名(参见示例)。
我有一个元胞数组。我想将单元格的每个元素写入一个 .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
我希望我试图做的事情是清楚的,即使它是错误的。
您可以将您的代码缩短(并更正)为:
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
来创建文件名(参见示例)。