我正在尝试将带有多个工作表的excel文件读入matlab。所有工作表都有相同的标题,我希望每张工作表中的数据合并在一起,以便我可以绘制选定的列。
我是matlab的新手,所以任何示例代码都会非常有用。 谢谢 Ť
答案 0 :(得分:1)
您可以将xlsfinfo function与xlsread 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()