首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用matlab中的xlsread循环遍历文件夹中的所有.xls文件

使用matlab中的xlsread循环遍历文件夹中的所有.xls文件
EN

Stack Overflow用户
提问于 2015-12-14 14:37:36
回答 1查看 701关注 0票数 0

我正在编写一个脚本,它需要循环遍历文件夹中的所有.xls文件,并从特定的单元格中提取数据。我认为xlsread能够做到这一点,但我一直收到一个错误,内容如下:

Matlab:xlsread:filenotfound

下面是代码的基本结构:

代码语言:javascript
复制
files = dir('C:\folder\folder\folder\*.xls');
channelinfo = 'C:\differentfolder\chanloc.type';
cnt = '.cnt';
condition = 'varriable';


for i = 1:length(files(:,1))
    try

        CNTCrash1WindowStart = xlsread(files(i).name, 'Summary', 'C8');
        CNTCrashWindowEnd = xlsread(files(i).name, 'Summary', 'D8');
        subjectNum = xlsread(files(i).name, 'User Info', 'A2');

        eeglab;
        %eeglab things happen here

    catch ME
        disp(ME)
    end
end            
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-15 14:16:17

这里的问题是您的文件不在您的pwd (当前工作目录)中。对dir的调用给出了文件名,但不包括完整的路径名。因此,xlsread正在寻找您的.xls文件位于它们不存在的位置。通过设置包含完整路径的临时名称并将其提供给xlsread来解决此问题

代码语言:javascript
复制
folder = 'C:\folder\folder\folder\'; %'//
files = dir([folder, '*.xls']);
channelinfo = 'C:\differentfolder\chanloc.type';
cnt = '.cnt';
condition = 'variable';

for ii = 1:length(files(:,1))
    try
        tempname = fullfile(folder, files(ii).name); %// Thanks to excaza
        CNTCrash1WindowStart = xlsread(tmpname, 'Summary', 'C8');
        CNTCrashWindowEnd = xlsread(tmpname, 'Summary', 'D8');
        subjectNum = xlsread(tmpname, 'User Info', 'A2');

        eeglab;
        %eeglab things happen here

    catch ME
        disp(ME)
    end
end 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34269642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档