xlsread('不是文件名,而是包含在文件名的数组元素中的string)
我想阅读一个Excel文件(xlsread),但我不想每次都手动inputstring,而是想要xlsread包含在数组中的文件的名称。
例如,我的数组B是:
B = 'john.xlsx' 'mais.xlsx' 'car.xlsx'
然后我想读第一个元素内部的名字,这意味着:“john.xlsx”
我怎样才能做到这一点?
data = xlsread(B{1});
或者,如果你想阅读所有这些:
for i=1:length(B) data(i).nums = xlsread(B{i}); end
当然,假设你的B是一个单元arrays。 如果不是这样,它就不能像你描述的那样存在。 如果所有string具有相同的长度(那么可能)或用空格填充,则可以使用分隔字符数组到单元格数组
B = mat2cell(B,ones(size(B,1),1),size(B,2));
不同长度的string必须位于单元格数组中,您可以通过大括号{}
访问元素。 所以,你可以这样调用第一个元素的xlsread
:
names{1} = 'john.xlsx'; names{2} = 'mais.xlsx'; names{3} = 'car.xlsx'; num = xlsread(names{1});