我有一个大的CSV数据,我尝试使用textscan导入。数据内部有一些字母NA。我使用了以下脚本,但是在215842行中只识别了11个。数据导入在它包含NA文本的行停止。
如何在导入到matlab之前将此数据转换为NaN或其他可能有效的替代方案?
field=fopen ('wt01.csv');
wt_data= textscan (field,' %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f ','delimiter',',');
fclose (field);
答案 0 :(得分:0)
您可以使用TreatAsEmpty选项执行此操作,例如wt_data= textscan(fid,' %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f ','delimiter',',','TreatAsEmpty',{'NA','na'});
请参阅http://de.mathworks.com/help/matlab/ref/textscan.html
或者使用uiimport
,因为它会为您提供很好的按键,包括如何处理与理想格式不匹配的数据,以及稍后允许您从中生成脚本,以便您可以重用它。