从Matlab写一个字符串的单元格数组到Excel?

时间:2011-06-17 19:59:51

标签: excel matlab

我想将基因的名称写入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

1 个答案:

答案 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};