找回密码
 注册
关于网站域名变更的通知
查看: 452|回复: 3
打印 上一主题 下一主题

如何去掉txt文件里不想要的字符,和去掉这行

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-12-18 13:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
: q+ C# s, p8 U; y0 l4 @5 `
比如我有个txt文件有3列的数据,前两列都是double型的数字,第三列有数字也有N.C.这样的字符串。如下所示(行数很多很多,为了方便举例只取前几行):, s4 v7 W( s' J; B9 e) u* F- o
3 }4 F  E: G& ]
543.6 765.4 652 S/ q# p% [0 w7 O( D+ E5 \% {7 X/ a
765.0 865.0 N.C.
+ x; |6 ]) o/ z* d& R654.8 762.3 54. \7 E1 L% \) x4 E( w
587.0 844.0 50
. b$ \5 `+ m; ^# r! [2 U254.0 765.0 N.C.
1 S3 P8 ]( H' u, U/ G' A# E……
& `2 N! m3 r, e3 i1 V8 D4 [* N% h7 ]5 t: Z  G
我用testscan函数可以很容易的读取前两行,但第三行有数字有字符串就不太好处理。
8 t9 S6 y- h# Y2 D& v; ~
1 J2 h% |  `" r2 L9 l# t0 r( |请问如何把有N.C.的行给去掉呢?比如上例最终为:
( D# l# S1 T1 T" M" W  o1 p, }: ?
1 F) [! P& y7 E/ E543.6 765.4 65, o0 {7 ]0 C8 |9 }) |
654.8 762.3 542 r* l! u  T8 v/ L+ `( m, P
587.0 844.0 50

该用户从未签到

4#
发表于 2020-12-18 16:07 | 只看该作者
fid = fopen('新建文本文档.txt');1 ^  _+ ~( G" ]! b; d. d
data =textscan(fid,'%s %s %s');9 N  {% F- V* p8 @0 P. A1 F
a = data(1,[1,2]);8 }# U. l2 l6 h
aa = cell2mat(cellfun(@(x) str2num(char(x)),a,'UniformOutput',false));
/ O$ O: `3 k/ a7 nb = data{:,3};
" h, i3 w7 F9 N* r% i; \$ cc = cellfun(@(x) str2num(char(x)),b,'UniformOutput',false);
2 [. b, z. q3 x# _# F+ Cindex=cell2mat(cellfun(@(x) ~isempty(x),c,'UniformOutput',false));
+ H! g; x0 ]8 [7 W+ N. wresult = [aa(index,: ), vertcat(c{index})];
$ x) |" ?% v; Q" b% s+ m# Rfclose(fid);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 13:15 , Processed in 0.187500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表