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