EDA365电子论坛网
标题:
如何去掉txt文件里不想要的字符,和去掉这行
[打印本页]
作者:
Uqzalq
时间:
2020-12-18 13:15
标题:
如何去掉txt文件里不想要的字符,和去掉这行
, l- P+ }/ @6 F4 p& C8 V6 k
比如我有个txt文件有3列的数据,前两列都是double型的数字,第三列有数字也有N.C.这样的字符串。如下所示(行数很多很多,为了方便举例只取前几行):
2 ]0 S; |+ g Y+ ~% w+ F+ b
2 S9 \5 l( K6 X/ e2 k' ^) e" o
543.6 765.4 65
, f7 M `, ~- X- r
765.0 865.0 N.C.
& g/ u' y% ~# c& O
654.8 762.3 54
8 c% k+ J1 a& _7 w9 i& H
587.0 844.0 50
' _& z+ B1 W5 l+ Q
254.0 765.0 N.C.
1 {# ~; O/ U7 x/ X$ U( K& U
……
/ U4 R% j8 O4 }: M" Z
1 t P: n. P5 O0 r
我用testscan函数可以很容易的读取前两行,但第三行有数字有字符串就不太好处理。
d3 E# Q7 p0 ~# h0 m
6 y$ A u" C- M" Y4 ^
请问如何把有N.C.的行给去掉呢?比如上例最终为:
% q0 O; ?; g: I* w3 g2 j* k
7 D4 c Z; K( i Y3 a7 }
543.6 765.4 65
# |' m1 v6 a# y5 Y; C, x! @2 d
654.8 762.3 54
% G8 t, i9 ?8 d# Z* E0 h
587.0 844.0 50
作者:
NingW
时间:
2020-12-18 14:28
不懂
作者:
younicp
时间:
2020-12-18 16:07
路过,帮顶
作者:
haidaowang
时间:
2020-12-18 16:07
fid = fopen('新建文本文档.txt');
# J8 `9 d8 z3 T0 O6 p8 B ]
data =textscan(fid,'%s %s %s');
2 y6 f2 A* G) @0 S
a = data(1,[1,2]);
: _% y+ q* h- Z2 N
aa = cell2mat(cellfun(@(x) str2num(char(x)),a,'UniformOutput',false));
: Y6 f; j6 I }( o
b = data{:,3};
" ]# x3 p3 r5 y6 r/ G5 p' n% C' o$ U
c = cellfun(@(x) str2num(char(x)),b,'UniformOutput',false);
6 {4 _' Z6 u/ Q! D' ~: j
index=cell2mat(cellfun(@(x) ~isempty(x),c,'UniformOutput',false));
- k/ ^4 c1 ?! D% G, Z9 l, Z
result = [aa(index,: ), vertcat(c{index})];
7 p+ r# P5 O! f0 n$ O3 w
fclose(fid);
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2