与特殊字符Textscan——删除行

7视图(30天)
我想读数据集,尽管它包含了一些行用缺失值需要被删除。缺失值表示为一个”?的数据集。
示例3行:
1056784 3 1,1,1,2,1、2、1、1、2
1057013、8、4、5、1、2 ? 7、3、1、4
1059552,1,1,1,1,2,1,3,1,1,2
现在我这样做:
fid = fopen (“bcw.data”);
adata = textscan (fid,“% % % f % f % % % f % f % % f % f ',“分隔符”,”、“);
文件关闭(fid);
我需要删除中间行(连同其他包含“?”),谁能帮忙吗?谢谢

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2016年1月4日
你试过TreatAsEmpty选项吗?使用时,该值将被取代由EmptyValue控制选项,默认NaN。
adatacell = textscan (fid,“% % % f % f % % % f % f % % f % f ',“分隔符”,”、“,“TreatAsEmpty”,“?”,“CollectOutput”1);
adata = adatacell {1};
adata(任何(isnan (adata), 2),:) = [];%删除行,南
1评论
马赛厄斯Fynbo
马赛厄斯Fynbo 2016年1月4日
谢谢,这正是我想要的。我看到了TreatAsEmpty docu,但并没有完全理解它的用法。再次感谢。

登录置评。

更多的答案(0)

类别

找到更多的在字符和字符串帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!