我在 matlab 中有几个表,我想写一个.csv
文件,垂直连接。我想保持每个表中的列名作为顶行,并希望使用循环来编写csv。最终目标是将数据读入R
,但R.matlab
效果不佳。关于如何做到这一点的建议?
或者如何使用迭代器更改for循环中的文件名? 例如
for i=1:10
writecsv('mydatai.csv',data(i))
end
所以我必须在最后输出10个csv文件作为输出。
答案 0 :(得分:0)
您可以使用for sprintf字符串格式化功能更改循环中的文件名,例如:
dlmwrite(sprintf('mydata%i.csv', i), data(i) )
请注意,字符串的%i部分是整数的sprintf格式化运算符,您还决定将迭代器变量命名为“i”,这只是巧合。
您可以使用dlmwrite
函数将额外数据附加到现有CSV,该函数使用逗号分隔符作为默认值,并包含“-append”标记。
答案 1 :(得分:0)
另一种方法是使用
writetable(Table,filename )
并在每次更改后更改文件名,您可以使用
filename = ['mydata' num2str(i) '.csv']