2014-09-27 28 views
0

我有一個帶有一堆變量(單元格)的.mat文件。他們實際上只是一個雙打的列向量。將變量從.mat保存到CSV的不同列中

.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 
+0

我不認爲你可以附加到使用csvwrite的文件。您可能需要將文件的所有數據組合成一個矩陣,然後再調用一次csvwrite。 – Lukeclh 2014-09-27 01:54:47

+0

另一個問題是,它甚至沒有將一個變量保存到CSV。相反,保存變量的名稱。我如何修復循環,以便實際保存值? – shizishan 2014-09-27 01:59:50

回答

0

如果我明白你正在嘗試做的,我想你會需要使用eval()將數據放到csvwrite功能。這樣的事情:

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