导入文本扫描

Importing 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);

您可以使用 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,因为它会给你很好的按键,包括如何处理不符合理想格式的数据,然后允许你从中生成脚本,这样你可以重复使用它。