繁体   English   中英

如何从电子表格导入大量数据到Matlab中?

[英]How to import lots of data into matlab from a spreadsheet?

我有一个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次)吗?

您可以使用i定义一个循环,然后将工作sheet放入实际的xlsread调用中,这只会使它从同一工作表中重复读取(变量工作sheet值没有改变)。 同样也不确定您是否打算以某种方式保存all_data的内容,就这样写它没有意义,因为它将被覆盖。

使用xlsread指定工作表有两种方法。

1)使用数字。 如果您打算这样做,则:

all_data{i} = xlsread(filename, i, xlRange);

2)使用工作表名称。 如果您打算这样做并且all_data的内容是all_data表的名称,则:

data{i} = xlsread(filename, all_data{i}, xlRange); %avoiding overwriting

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM