Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

How can I read a clomun from txt file?

1 vue (au cours des 30 derniers jours)
Alberto Alvarez
Alberto Alvarez le 3 Mar 2015
Clôturé : MATLAB Answer Bot le 20 Août 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 commentaires
Stephen23
Stephen23 le 3 Mar 2015
Try attaching the files again.
Alberto Alvarez
Alberto Alvarez le 3 Mar 2015
Here goes the txt file example.

Réponses (2)

Shrirang
Shrirang le 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 le 4 Mar 2015
Modifié(e) : Stephen23 le 22 Mai 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

Cette question est clôturée.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by