无法从double转换为单元格 - MATLAB

时间:2015-12-26 12:00:03

标签: excel matlab

有没有办法将文本文件读取到字符串的单元格数组并将其写入excel文件?

我尝试这样的事情:

for d = 1:n
dFile(d,1) = d
content = strcat(dirpathstr{d})
filecontent =textscan(content, '%s', 'whitespace', '')
dFile(d,2) = filecontent
end

但它给了我错误“无法从double转换为单元格”,然后我用

改进它
"dFile(d,2) = str2double (filecontent)" 

但它给我'NaN'作为结果,

任何人都可以帮助我:)。

1 个答案:

答案 0 :(得分:1)

变量dFile是一个双数组,即它只包含数字。第一列总是包含d,这是一个数字 - 没关系。

textscan函数会返回单元格数组。用线

dFile(d,2) = filecontent

您尝试获取单元格数组并将其保存在double数组中。这是不可能的,因为它们是不同的数据类型。这正是MATLAB告诉你的:

  

无法从double转换为单元格

在您的情况下,您不需要dFile成为双数组,您也可以将其设为单元数组。然后,您可以将filecontent分配给dFile,因为它们具有相同的数据类型。

for d = 1:n
    dFile{d,1} = d
    content = strcat(dirpathstr{d})
    filecontent =textscan(content, '%s', 'whitespace', '')
    dFile{d,2} = filecontent
end