我想将基因的名称写入excel但是当我运行此代码时,matlab并没有将任何内容写入excel。我想要填充的细胞留空。我似乎无法弄清楚我的代码中缺少什么。 names是字符串名称的单元格数组。
function nameWriter()
x = importdata('mitominerratmitochondrialoutermembraneproteins');
names = {};
n = length(x.textdata);
counter = 0;
for i = 1:n
if strncmp(x.textdata(i),'>', 1) ==1
names{end+1} = x.textdata(i);
counter = counter +1;
end
end
xlswrite('aacount2.xls', names, 'B1:CB1');
end
答案 0 :(得分:3)
我认为您错误的可能来源是您没有考虑到x.textdata
将成为字符串的单元格数组(如table in the IMPORTDATA documentation for the output argument A
中所述)。将数据分配给names
时,如下所示:
names{end+1} = x.textdata(i);
您实际上将一个单元格数组放在另一个单元格数组中,而XLSWRITE显然无法处理嵌套的单元格数组(即它输出包含输入的单元格元素的空白字段细胞阵列)。您应该使用花括号而不是括号来访问x.textdata
的单元格内容,如下所示:
names{end+1} = x.textdata{i};