我有一个包含以下信息的文件:
id allele1 allele2
1 A A
2 T A
3 A A
. ...
. ...
. ...
我想将文件解析为包含三个字段(id, allele1, allele2)
的结构数组,其中id是从1到n的所有数字,allele1是第一列字符,allele2是第二列。
答案 0 :(得分:1)
将来,最好展示你尝试过的东西。但是,这应该可以让你开始。
fid = fopen('input.txt','r');
%header line
line = fgetl(fid);
header = regexpi(line,'\W+','split');
ID=1;
%read first line
line = fgetl(fid);
while ischar(line)
l = regexpi(line,'\W+','split');
for i=1:numel(l)
data(ID).(header{i}) = l(i);
end
ID = ID+1;
line = fgetl(fid);
end
fclose(fid);
导致:
>> data
data =
1x4 struct array with fields:
id
allele1
allele2
>> data(1)
ans =
id: {'1'}
allele1: {'A'}
allele2: {'A'}
>> data(2)
ans =
id: {'2'}
allele1: {'T'}
allele2: {'A'}