我在matlab我有幾個表,我想寫一個.csv
所有文件,垂直連接。我想保留每個表的列名作爲最上面一行,並且希望使用循環來編寫csv。最終目標是將數據讀入R
,但R.matlab
不能正常工作。有關如何做到這一點的建議?從Matlab寫入表格到CSV
另外我怎樣才能改變使用迭代器for循環中的文件名? 例如沿線
for i=1:10
writecsv('mydatai.csv',data(i))
end
所以我必須在最後10個csv文件作爲輸出。
我在matlab我有幾個表,我想寫一個.csv
所有文件,垂直連接。我想保留每個表的列名作爲最上面一行,並且希望使用循環來編寫csv。最終目標是將數據讀入R
,但R.matlab
不能正常工作。有關如何做到這一點的建議?從Matlab寫入表格到CSV
另外我怎樣才能改變使用迭代器for循環中的文件名? 例如沿線
for i=1:10
writecsv('mydatai.csv',data(i))
end
所以我必須在最後10個csv文件作爲輸出。
可以通過使用用於sprintf的字符串格式化功能改變循環內的文件名,例如:
dlmwrite(sprintf('mydata%i.csv', i), data(i))
注意的字符串%I部分是用於一個整數sprintf的格式化操作,它是隻是巧合,你也決定命名你的迭代變量'我'。
您可以使用dlmwrite
函數將額外數據附加到現有CSV,該函數使用逗號分隔符作爲默認值,幷包含'-append'標誌。
另一種方法是使用
writetable(Table,filename)
,每個交替後更改文件名,你可以使用
filename = ['mydata' num2str(i) '.csv']
只對數字數據dlmwrite的作品,不接受表作爲輸入。 – excaza
你是對的,我假設原來的問題是在更廣義的意義上使用'table'這個術語,因爲表格數據類型對於MATLAB而言是比較新的,在R2013b中引入 – DMR