我正在尝试从包含this内容的文本文件中获取选择性数据。我使用以下代码阅读第四列:
fid = fopen('class.txt');
C = textscan(fid, '%*s %*s %*s %f %*[^\n]');
C = C{:};
我想仅在第四列的对应值等于1
时才获取第一列中的值。我想在C=1
的值下执行下面的代码,以便我只能从文件中获取选择性数据。
R = textscan(fid, '%f %*[^\n]');
R = R{:};
答案 0 :(得分:0)
我建议读取整个文件,然后在第二步中提取第四列等于1
的行。以下代码将所需的列作为单元格数组data
获取,然后将单元格的内容分配给R
和C
。现在,您可以使用逻辑索引来仅获取所需的行。
fid = fopen('class.txt');
data = textscan(fid, '%f %*s %*s %f');
R = data{1};
C = data{2};
result = R(C==1)
对于数据集...
14 114 214 0
15 115 214 0
17 117 215 1
18 118 216 1
15 113 214 1
...输出如下:
result =
17
18
15