从excel读取多张表到matlab

时间:2018-03-12 12:54:11

标签: excel matlab

我正在尝试将带有多个工作表的excel文件读入matlab。所有工作表都有相同的标题,我希望每张工作表中的数据合并在一起,以便我可以绘制选定的列。

我是matlab的新手,所以任何示例代码都会非常有用。 谢谢 Ť

2 个答案:

答案 0 :(得分:1)

您可以将xlsfinfo functionxlsread function一起使用,以便动态阅读工作表。无论您的文件包含多少张,此方法都会以table的形式授予输出,其中包含正确命名的列标题,并且工作表数据集堆叠在彼此的顶部:

[~,sheets] = xlsfinfo('data.xlsx');

data = [];

for i = 1:numel(sheets)
    if (i == 1)
        [data_curr,headers] = xlsread('data.xlsx',i);
    else
        data_curr = xlsread('data.xlsx',i);
    end

    data = [data; data_curr];
end

data = array2table(data,'VariableNames',headers);

假设您的文件包含以下表格:

         SHEET A
-------------------------
Header1  Header2  Header3
   6       15        8
   1        8        3
   2        2        4
  13       11        8
   1        7       14
   4       14        4
  17       10        6

         SHEET B
-------------------------
Header1  Header2  Header3
  14        4        6
  12        1       13
   8       16        7
  11        6        5
   3       11        5
   7       14       11
   7        2       11

最终输出将是:

data =

    Header1    Header2    Header3
    _______    _______    _______

     6         15          8     
     1          8          3     
     2          2          4     
    13         11          8     
     1          7         14     
     4         14          4     
    17         10          6     
    14          4          6     
    12          1         13     
     8         16          7     
    11          6          5     
     3         11          5     
     7         14         11     
     7          2         11    

答案 1 :(得分:0)

将表格读入表格,然后连接表格:

.select()