繁体   English   中英

MATLAB一次导出多个.csv文件

[英]MATLAB export multiple .csv files at one time

我有一个矩阵,需要在其中将每列导出到单独的.csv文件中。 我知道列数,如果我专门选择要导出的一列,则可以实现所需的结果。 我可以这样做:

dlmwrite('1.csv',data(:,1), 'precision', 9)

因此,如果我想要第2列,则将变量更改为data (:,2)并将其保存为2.csv

所以我想要一个循环,它将自动执行所有这些操作。 我努力了

for i=1:Number_of_Columns
    dlmwrite('(i).csv',csv_data(:,(i)), 'precision', 9)
end

这显然是行不通的,但我不确定该怎么做。

任何帮助或建议,将不胜感激

您的问题是文件名。 如果将i放在引号之间,它将被视为字符而不是变量。 (在您的情况下,您的文件名将始终为“(i).csv”)

您可以使用[]连接字符串,并且由于i是整数,因此必须使用num2str()将其转换为字符串

尝试:

for i=1:Number_of_Columns
    dlmwrite([num2str(i) '.csv'], csv_data(:,i), 'precision', 9)
end

PD:由于您将每一列(而不是每一行)存储在一个文件中,所以我不确定是否要在每个元素都位于单独行中的文件中,还是要将该列存储为一行并分开用逗号分隔。

如果需要后者,请转置您的列:

dlmwrite([num2str(i) '.csv'], csv_data(:,i).', 'precision', 9)

请注意,转置运算符为.' 而不是复共轭' (这是常见的误用,因为只要使用实数,结果是相同的)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM