matlab 将xls文件导入全字符串单元数组

lx0bsm1f  于 2023-06-23  发布在  Matlab
关注(0)|答案(3)|浏览(180)

我试图导入一个xls文件,其中有数字以及字符串数据在它。现在我希望输出是一个cell-数组,只包含字符串。我以前

[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

但这也太慢了我想这可以在一个相当简单的矩阵运算中完成,但我似乎不知道如何操作。

uujelgoq

uujelgoq1#

不需要检查是否为数字,直接对它们使用**num2str**即可。

raw = cellfun(@num2str, raw, 'UniformOutput', 0);
k3fezbri

k3fezbri2#

多久

nonNaNnumeric = numeric(~isnan(numeric));
num2str(nonNaNnumeric)

take?这是将数字转换为字符串的时间。如果它不够快,你应该尝试printf,它更快。如果这样做太慢,你需要首先从xls中导入数据作为字符串,以避免这种转换,我不知道如何做,也不知道是否可能。

odopli94

odopli943#

简单

rawString = string(raw);

相关问题