xlsread('不是文件名,而是包含在作为文件名的数组元素中的字符串)

时间:2014-01-29 17:11:35

标签: excel matlab

我想阅读一个excel文件(xlsread),但我不想每次手动输入字符串,而是想要xlsread xlsread包含在数组中的文件的名称。

例如,我的数组B是:

B =
'john.xlsx'
'mais.xlsx'
'car.xlsx'

然后我想阅读第一个元素中的excel WITH THE NAME,这意味着:“john.xlsx”

我该怎么做?

2 个答案:

答案 0 :(得分:1)

data = xlsread(B{1});

或者,如果你想阅读所有这些内容:

for i=1:length(B)
    data(i).nums = xlsread(B{i});
end

当然,假设您的B是一个单元阵列。如果不是,它就不会像你描述的那样存在。如果所有字符串具有相同的长度(那么可能)或填充空格,则可以使用

将char数组拆分为单元格数组
B = mat2cell(B,ones(size(B,1),1),size(B,2));

答案 1 :(得分:1)

不同长度的字符串必须位于单元格数组中,您可以通过大括号{}访问元素。因此,您可以通过这种方式在第一个元素上调用xlsread

names{1} = 'john.xlsx';
names{2} = 'mais.xlsx';
names{3} = 'car.xlsx';

num = xlsread(names{1});