Matlab--cell輸出至csv文件cell2csv

matlab文件的輸出中,經(jīng)常遇到字符串與數(shù)值型同時(shí)輸出,需要判斷后再重新寫的情況

這里在官網(wǎng)有一個(gè)函數(shù),cell2csv可以根據(jù)分隔符直接將cell矩陣直接輸出成幾列至csv文件

我這里給出的示例是輸出時(shí)間和PM2.5,時(shí)間是字符串,污染物濃度是數(shù)值

var_station{1,1}='Time,pm2.5';?%第一行為頭信息

for?m=1:length(file)??????????????????%從第二行開始分別為每一個(gè)時(shí)刻的時(shí)間和污染物濃度,合并為一個(gè)cell

????if?isnan(pm_avg)

????????var_station{m+1,1}=strcat(time_str,',',num2str(-9999));

????else

????????var_station{m+1,1}=strcat(time_str,',',num2str(pm_avg));

????end

end?????

然后調(diào)用函數(shù)輸出至csv文件即可

cell2csv('CS-PM25.csv',var_station,',')


function?cell2csv(filename,cellArray,delimiter)

%?Writes?cell?array?content?into?a?*.csv?file.

%?

%?CELL2CSV(filename,cellArray,delimiter)

%

%?filename??????=?Name?of?the?file?to?save.?[?i.e.?'text.csv'?]

%?cellarray????=?Name?of?the?Cell?Array?where?the?data?is?in

%?delimiter?=?seperating?sign,?normally:','?(it's?default)

%

%?by?Sylvain?Fiedler,?KA,?2004

%?modified?by?Rob?Kohr,?Rutgers,?2005?-?changed?to?english?and?fixed?delimiter

if?nargin<3

????delimiter?=?',';

end


datei?=?fopen(filename,'w');

for?z=1:size(cellArray,1)

????for?s=1:size(cellArray,2)


????????var?=?eval_r(['cellArray{z,s}']);


????????if?size(var,1)?==?0

????????????var?=?'';

????????end


????????if?isnumeric(var)?==?1

????????????var?=?num2str(var);

????????end


????????fprintf(datei,var);


????????if?s?~=?size(cellArray,2)

????????????fprintf(datei,[delimiter]);

????????end

????end

????fprintf(datei,'\n');

end

fclose(datei);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容