将.mat中的变量保存到CSV的其他列中

时间:2014-09-27 01:25:16

标签: matlab csv mat-file

我有一个带有一堆变量(单元格)的.mat文件。它们实际上只是双打的列向量。

.mat文件的样本。实际的文件有更多文件

Name                Size             Bytes  Class    Attributes

  r2_Fall_1997        1x1                144  cell
  r2_Fall_1998        1x8               1152  cell
  r2_Fall_1999        1x325            46800  cell
  r2_Fall_2000        1x368            52992  cell

  r2_Spring_1997      1x1                144  cell
  r2_Spring_1998      1x8               1152  cell
  r2_Spring_1999      1x325            46800  cell
  r2_Spring_2000      1x368            52992  cell

  r2_Spring_2014      1x1                144  cell
  r2_Summer_1997      1x1                144  cell
  r2_Summer_1998      1x8               1152  cell
  r2_Summer_1999      1x325            46800  cell
  r2_Summer_2000      1x368            52992  cell

我想将每个季节(所以r2_Spring_ ,r2_Summer _ ,r2_Fall *)保存到CSV文件中,每年都是不同的列。

我现在正在使用以下代码,但它正在为每个变量创建一个CSV文件,但实际上并没有保存任何内容 - 它是0字节。如何将内循环的每次迭代保存到CSV文件的新列中?

load Correlation_PM25_24hr_O3_MDA8

Seasons = {'Spring'; 'Summer'; 'Fall'}
years = 1997:2013;
for s = 1:length(Seasons)
    for y = 1:length(years)
        csvwrite(['r2_' Seasons{s} '_' num2str(years(y)) '.csv'], ['r2_' Seasons{s} '_' num2str(years(y))])
    end
end

1 个答案:

答案 0 :(得分:0)

如果我理解你要做什么,我认为你需要使用eval()将数据输入到csvwrite函数中。像这样:

csvwrite(['r2_' Seasons{s} '_' num2str(years(y)) '.csv'], eval(['r2_' Seasons{s} '_' num2str(years(y)))])