我想阅读一个excel文件(xlsread),但我不想每次手动输入字符串,而是想要xlsread xlsread包含在数组中的文件的名称。
例如,我的数组B是:
B =
'john.xlsx'
'mais.xlsx'
'car.xlsx'
然后我想阅读第一个元素中的excel WITH THE NAME,这意味着:“john.xlsx”
我该怎么做?
答案 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});