如何在Matlab中将多个EXCEL文件导入到单个数组中?

问题描述:

我在一个文件夹中有大量文件(+100),我想把它们全部放在matlab中的单个数组中,我该怎么做?如何在Matlab中将多个EXCEL文件导入到单个数组中?

在此先感谢!

+1

使用'xlsread'循环遍历你的文件,但是你如何存储你获得的内容的细节取决于文件中的内容...... – nkjt 2014-11-06 13:45:58

+0

第一个电子表格中的前两行是我需要的,所以第一列一个数组中的文件,另一个数组上的所有文件的第二列。我开始做循环,但我不知道如何设置来自前一个文件的数据没有被覆盖。 – 2014-11-06 14:08:22

由于从OP任务+评论

  • 在第一个电子表格的前两行看到的是我需要的,在一个阵列所有文件,以便第一列,和第二第列的所有文件 另一列。我开始做循环,但我不知道如何设置 从前面的文件数据未被覆盖。大卫 - 马丁内斯比罗34分钟前

Loop over all filenames:

 import data, as needed, from current file into a MATLAB aCurrentArrayC1; 

    import data, as needed, from current file into a MATLAB aCurrentArrayC2; 

    aCollectionOfC1s = [aCollectionOfC1s ; aCurrentArrayC1]; %% case of VSTACK-ing 
    aCollectionOfC1s = [aCollectionOfC1s , aCurrentArrayC1]; %% case of HSTACK-ing 

    aCollectionOfC2s = [aCollectionOfC2s ; aCurrentArrayC2]; %% case of VSTACK-ing 
    aCollectionOfC2s = [aCollectionOfC2s , aCurrentArrayC2]; %% case of HSTACK-ing 

end %% next file

假设:您的电子表格是沿着一个维,而你试图建立一个1 -d数组。

这是我会怎么处理它:

首先把文件放在一个文件夹,例如'XLS'。我从i = 3开始,因为dir()的前两个索引是“。”和“..”;你需要一个数组来追加tempData,所以我把第一个文件放入mydata中,并将tempdir附加到其他文件的那个文件中。

Function import_spreadsheets 
listXLS = dir(path to xls folder); 
for i = 3 : length(listXLS) 
    filename = strcat([path to xls folder], filesep, listXLS(i).name); 
    if(i==3) 
     mydata = xlsread(filename, sheet, xlRange); 
    else 
     tempData = xlsread(filename,sheet,xlRange); 
     mydata = cat(2, mydata, tempData); 
    end 
end 
end 

(在猫的数量)将取决于你是电子表格设置up.Look here有关猫的详细信息()。