首页 文章

将具有多个选项卡的多个Excel工作表导入到matlab中

提问于
浏览
-1

大家好,祝大家好

我正在尝试将一些带有多个标签的Excel工作表导入到matlab中 . 为此,我写了一个小循环但经过多次尝试和调整仍然无法将所有数据都输入到matlab中 . 在源目录中,我有15个excel表,其中包含8个选项卡,每个选项卡包含52 x 102单元格中的数据 . 数据采用带符号的形式,包含正值和负值 . 下面是我正在处理的代码,我应用了我在互联网上找到的不同变化,但没有成功 .

srcdir = 'path to the folder';  

srcfiles = dir(fullfile(srcdir, '*.xls'));


for i = 1:length(srcfiles)
[status,sheets] = xlsfinfo(srcfiles(i));

for s = 1:numel(sheets)

[data,titles]=xlsread(srcfiles(i).name,sheets{s});

end
end

现在我收到此错误“文件名必须是一个字符串” . 我甚至试图将它更改为char to string但仍然无法正常工作 .

只有一次工作当我没有在源目录中给出路径,即srcdir时,直接在xlsread()中给出了文件的名称 .

任何人都可以帮助我在哪里犯错误吗?谢谢

1 回答

  • 1

    您可能需要使用 fullfile 指定文件的完整路径 . 此外,在外部 for 循环中,您需要使用 srcfiles(i).name 而不是 srcfiles(i)

    srcdir = 'path to the folder';  
    srcfiles = dir(fullfile(srcdir, '*.xls'));
    
    
    for k = 1:numel(srcfiles)
        filename = fullfile(srcdir, srcfiles(k).name);
        [status,sheets] = xlsfinfo(filename);
    
        for s = 1:numel(sheets)
            [data,titles] = xlsread(filename, sheets{s});
        end
    end
    

相关问题