我正在尝试导入一个包含数字和字符串数据的xls文件。现在,我希望输出是一个仅由字符串组成的cell-array。我用过
[numeric,text,raw]=xlsread('myFile.xls');来读取文件。现在我正在寻找一种将raw的所有单元格转换为strings的方法。我实际上用以下方法解决了这个问题
raw=cellfun(@convertmat2char,raw);
function charData = convertmat2char(data)
if isnumeric(data)
charData={num2str(data)};
else
charData={data};
end
end但是这个速度慢得离谱。我想这可以在一个非常简单的矩阵运算中完成,但我似乎无法弄清楚如何做到这一点。
发布于 2017-03-01 22:31:17
而不是检查它是否是数字,直接对所有它们使用。
像这样使用和:
raw = cellfun(@num2str, raw, 'UniformOutput', 0);发布于 2017-03-01 23:12:23
多长时间?
nonNaNnumeric = numeric(~isnan(numeric));
num2str(nonNaNnumeric)拿走?这一次仅将数字转换为字符串。如果它不够快,你应该试试更快的printf。如果这样做太慢,您首先需要将数据作为字符串从xls导入,以避免这种转换,我不知道该如何做,甚至不知道它是否可能。
https://stackoverflow.com/questions/42534148
复制相似问题