导入文本扫描

时间:2016-01-04 08:57:48

标签: textscan

我有一个大的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);

1 个答案:

答案 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,因为它会为您提供很好的按键,包括如何处理与理想格式不匹配的数据,以及稍后允许您从中生成脚本,以便您可以重用它。