我有一个包含大量数据的Excel电子表格,我想将其导入到matlab中。
filename = 'for_matlab.xlsx';
sheet = (13*2)+ 1;
xlRange = 'A1:G6';
all_data = {'one_a', 'one_b', 'two_a', 'two_b', 'three_a', 'three_b', 'four_a', 'four_b', 'five_a', 'five_b', 'six_a', 'six_b', 'seven_a', 'seven_b', 'eight_a', 'eight_b', 'nine_a', 'nine_b', 'ten_a', 'ten_b', 'eleven_a', 'eleven_b', 'twelve_a', 'twelve_b', 'thirteen_a', 'thirteen_b', 'fourteen_a'};
%read data from excel spreadsheet
for i=1:sheet,
all_data{i} = xlsread(filename, sheet, xlRange);
end
'all_data'向量的每个元素在单独的Excel工作表中都有一个对应的矩阵。上面的代码只将最后一个矩阵导入所有变量。有人可以告诉我如何获取它所以我可以将这些矩阵导入到单独的matlab变量中(不调用xlsread函数28次)?
答案 0 :(得分:0)
您使用i
定义循环,然后将sheet
放入实际的xlsread
调用中,这将使其从同一张表中重复读取(变量的值{{ 1}}没有变化)。也不确定你是否打算以某种方式保存sheet
的内容,因为写在那里没有必要以这种方式定义它,因为它只会被覆盖。
使用all_data
指定工作表有两种方法。
1)使用数字。如果您打算这样做:
xlsread
2)使用工作表的名称。如果您打算这样做,all_data{i} = xlsread(filename, i, xlRange);
的内容是工作表的名称,那么:
all_data