Matching lines of data and negating errors in the textfile

1 Ansicht (letzte 30 Tage)
I am reading in a text file with the following code:
fid=fopen(filename.txt, rt);
X=textscan(fid, %s%s%s%s%s’, ‘headerlines’, 5);
I have to read in all the data as string data because when ever there is an error, the whole line that I am looking at is marked with tacs. Here is what I mean:
X{1}=
5
7
9
12
X{2}=
12
15
---
32
if the columns were all lined up in the matrix X(which is a cell array) it would look like this:
X=
5 12 12:23:51 Y 45
7 15 12:28:34 N 234
9 --- --:--:-- - 23
12 32 12:34:17 Y 87
What I want to do with this is compare the first two columns of data with the Y’s and N’s. I want to take any row of data that has an has a Y in the 4th column and leave out any row that has an N or a “-“ in it.
My end result would be individual rows or a matrix with the data I want, ex:
Xfinal=
5 12 12:23:51 Y 45
12 32 12:34:17 Y 87
Or if it is easier:
X1=
5
12
X2=
12
32
Etc.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 18 Jan. 2012
Xfinal = X( strcmp(X{4}, 'Y'), :);

Weitere Antworten (0)

Kategorien

Mehr zu Low-Level File I/O finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by