导入从文件网络中获取的多个.xlsx文件

时间:2014-02-12 15:28:09

标签: matlab

我是一名Matlab新手,并且几周来一直在努力完成这项特殊任务。

我正在尝试创建一个嵌套的for循环,用于将所有数据上传到Matlab中。我需要代码进入主题1的文件,进入第一个练习的文件,上传3个文件(EMG,动能和动态数据),然后返回并输入文件进行第二次练习并上传数据在该文件中,对所有5个练习重复此操作,然后对所有12个主题重复此整个过程。我已经创建了使用我从互联网上读过的信息从一个文件上传数据的代码,但创建这个程序以获取所有这些文件中的所有数据已被证明是非常困难的。

以下是我目前编写的代码:

clear all;
Subjects = dir('C:\Users\pricep\Desktop\JuggaData');
Exercise = dir('C:\Users\pricep\Desktop\JuggaData\Subject1');
Trialdata = dir('C:\Users\pricep\Desktop\JuggaData\Subject1\*.xlsx');
subjectnum = numel(Subjects);
exercisenum = numel(Exercise);
datanum = numel(Trialdata);
myData = cell(datanum,1);

for k = 1:subjectnum
    for j = 1:exercisenum
        for i = 1:datanum
           filename = sprintf(Trialdata(i).name);
           myData{k} = importdata(filename);
        end
    end   
end 

不会显示任何错误消息,但也不会显示任何数据。

你可以告诉我,我是一个完整的新手,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

验证subjectnumexercisenumdatanum是否高于零,可能其中一个文件为零,导致无法发生任何事情。除此之外,还有其他问题:

  • exercisenum是常数,假设每个主题都有相同数量的练习。可能是错的。
  • dir也返回文件名..(父目录)和.(当前目录)。你不要过滤这些。
  • 使用相对文件路径调用
  • importdata,这是不可能的。
  • myData = cell(datanum,1);分配的空间不足,假设有多个主题和练习。