我有带有数字和字母单元格的“data.xlsx”文件。
当我运行这个命令时:
[num,txt,raw] = xlsread('data.xlsx');我得到了:
num =
NaN NaN NaN
NaN NaN 6
NaN NaN NaN
4 NaN NaN
txt =
'a' 'd' 'g'
'b' 'e' ''
'c' 'f' 'h'
'' '' ''有一种方法可以得到一个包含这两个变量的新变量?类似于:
生=
'a' 'd' 'g'
'b' 'e' '6'
'c' 'f' 'h'
'4' '' ''也许通过使用num2str?
我解决了我的问题谢谢所有的
在yuk的解决方案中,我得到了:

附注:我的版本是Matlab 2010 a。
发布于 2012-06-14 15:17:00
[~,~,raw] = xlsread('data.xlsx');
%# find numbers
containsNumbers = cellfun(@isnumeric,raw);
%# convert to string
raw(containsNumbers) = cellfun(@num2str,raw(containsNumbers),'UniformOutput',false);发布于 2012-06-14 15:35:24
除了Alon的solution之外,如果输入文件中的单元格是空的,这些单元格将包含带有'NaN'字符串的单元格。
只需在xlsread之后添加
containsNaNs = cellfun(@isnan,raw);
raw(containsNaNs) = {''};https://stackoverflow.com/questions/11036134
复制相似问题