Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

How can I read a clomun from txt file?

1 visualizzazione (ultimi 30 giorni)
Alberto Alvarez
Alberto Alvarez il 3 Mar 2015
Chiuso: MATLAB Answer Bot il 20 Ago 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 Commenti
Stephen23
Stephen23 il 3 Mar 2015
Try attaching the files again.
Alberto Alvarez
Alberto Alvarez il 3 Mar 2015
Here goes the txt file example.

Risposte (2)

Shrirang
Shrirang il 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 il 4 Mar 2015
Modificato: Stephen23 il 22 Mag 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

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by