大家好,祝大家好,
我正在尝试将一些带有多个标签的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()中给出了文件的名称。
任何人都可以帮助我在哪里犯错误吗?谢谢
答案 0 :(得分: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