Matlab没有写入文件

时间:2015-01-25 15:50:31

标签: matlab csv

我正在处理以下代码。此代码用于将下载的数据从数据库写入.csv文件。这里的问题是代码格式化并以特定方式将数据写入.csv文件,该文件将在后续代码中进一步使用。因此,我不能使用将数据转储到.csv文件的替代方法。我坚持使用以下代码,我只能进行小的改动以使其工作。整个代码如下:

fid = fopen(IFile,'wt');
fprintf(fid,'ID,Date');

fprintf(fid,',DATE');

%// ERROR HERE:
for jj=1:length(tVars)
    fprintf(fid,',%s',tVars{jj});
end
%// end ERROR

fprintf(fid,'\n');

for ii=1:length(id)

    %// Another ERROR here
    for jj=2:length(tVars)
        s = ['tmpVar = ' tVars{jj} '{ii};'];
        eval(s); %// end second ERROR

        tmpVar(strfind(tmpVar, ',')) = ';';
        if strcmp('NA',tmpVar) || strcmp('NaN',tmpVar) || ...
                strcmp('N/A',tmpVar)
            fprintf(fid,',');
        else
            fprintf(fid,',%s',tmpVar);
        end
        clear tmpVar
    end   
    fprintf(fid,'\n');
    clear tmp*
end
fclose(fid);
toc(tStart);

我在上面的代码中主要得到两个错误,每个错误对应于代码的标记部分。对于第一部分,错误是

  

使用fprintf时出错....   函数未定义为' cell'输入

第二部分对应的第二个错误是

  

未定义的函数或方法'eval'用于类型' cell'的输入参数。

我尝试纠正上述错误:     1)使用

的第一个错误
for jj=1:length(tVars)
    fprintf(fid,',%s,',char(tVars{jj}));
end

和2)使用

的第二个错误
for jj=2:length(timeVars)
       s = ['tmpVar = ' char(timeVars{jj}) '{ii};'];
       eval(s);

但是当我进行上述更改时,虽然我没有收到任何错误并且代码运行顺利,但我得到一个空的.csv文件,没有写入数据/标题。任何帮助将非常感谢。提前谢谢。

0 个答案:

没有答案