Info

此问题已关闭。 请重新打开它进行编辑或回答。

How can I read a clomun from txt file?

1 次查看(过去 30 天)
Alberto Alvarez
Alberto Alvarez 2015-3-3
关闭: MATLAB Answer Bot 2021-8-20
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 个)

Shrirang
Shrirang 2015-3-3
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 2015-3-4
编辑:Stephen23 2015-5-22
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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by