我正在处理以下代码。此代码用于将下载的数据从数据库写入.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文件,没有写入数据/标题。任何帮助将非常感谢。提前谢谢。