4

我在 Excel 中有一大列数据,我想将其读入字符串元胞数组。但是,有些条目是数字,其余的是字符串。所以我有类似的东西

288537
288537
312857
589889
589889
1019503
1019503
1098802
1098802
abc
efg
hij
1992724

第一行是标题行,所以我们忽略它。当我使用

[~, ID] = xlsread('data.xlsx', 'A2:A125581')

ID仅包含字符串条目,不包含数字条目。

我怎样才能xlsread将数字视为字符串,以便我可以将所有内容都视为字符串?

4

1 回答 1

4

XLSREAD返回三个输出。第三个是包含已读取所有内容的元胞数组。但是,元胞数组有数字,其中数据是数字,因此如果您希望所有内容都为字符串,则必须转换这些:

%# read everything into one cell array
[~,~,raw] = xlsread('data.xlsx', 'A2:A125581');
%# find numbers
containsNumbers = cellfun(@isnumeric,raw);
%# convert to string
raw(containsNumbers) = cellfun(@num2str,raw(containsNumbers),'UniformOutput',false);
于 2012-04-14T20:37:55.810 回答