Info

This question is closed. Reopen it to edit or answer.

How can I read a clomun from txt file?

1 view (last 30 days)
Alberto Alvarez
Alberto Alvarez on 3 Mar 2015
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi everyone,
I need to read several txt files and one column of each one. I've attached one of those txt files so you can understand what I'm talking about easier. I would like to write a script that can open the txt file, read the OK/KO column and perform (number[KO]/number[OK+KO])*100 formula.
Thanks in advance, Alberto
  2 Comments
Stephen23
Stephen23 on 3 Mar 2015
Try attaching the files again.

Answers (2)

Shrirang
Shrirang on 3 Mar 2015
Hi, You can use following code
Hope it helps you !!!
fileID = fopen('45_500_7.txt', 'r');
cntOK = 0;
cntKO = 0;
while ~feof(fileID)
tline = fgetl(fileID);
if ~isempty(strfind(tline,'OK'))
cntOK = cntOK + 1;
end
if ~isempty(strfind(tline,'KO'))
cntKO = cntKO + 1;
end
end
fclose(fileID);
result = (cntOK/(cntOK + cntKO))*100;

Stephen23
Stephen23 on 4 Mar 2015
Edited: Stephen23 on 22 May 2015
Rather than using a slow loop you could use the much neater textscan, and simply use the field-specification string to select exactly which column you want to work with:
>> fid = fopen('45_500_7.txt','rt');
>> C = textscan(fid,'%*s%*d%*s%*s%s%*[^\n]','headerlines',2);
>> fclose(fid);
>> C = C{1};
>> 100 * sum(strcmp('KO',C)) / numel(C)
ans =
10

Tags

Community Treasure Hunt

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

Start Hunting!