如何在Matlab中将几个EXCEL文件导入一个单独的数组?

时间:2014-11-06 13:33:31

标签: excel matlab import

我在一个文件夹中有大量(+100)文件,我想将它们全部放在matlab中的单个数组中,我该怎么做?

提前致谢!

2 个答案:

答案 0 :(得分:0)

从OP任务+评论

中可以看出
  • 第一个电子表格中的前两行是我需要的,所以第一列所有文件在一个数组中第二列< / strong>所有文件 另一个数组。我开始制作循环,但我不知道如何设置 上一个文件中的数据未覆盖。 - 大卫 MartínezBiro34分钟前
  

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 :(得分:0)

假设:您的电子表格是一维的,您正在尝试构建一维数组。

这就是我接近它的方式:

首先将文件放入单个文件夹,例如'XLS'。我从i = 3开始,因为dir()的前2个索引是“。”和“......”;你需要一个数组来附加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

cat()中的数字取决于您设置电子表格的方式。有关cat()的更多信息,请查看here