【问题标题】:Error using importdata in Matlab to import .txt files by reading the filenames from a cell在 Matlab 中使用 importdata 通过读取单元格中的文件名来导入 .txt 文件时出错
【发布时间】:2014-11-10 21:49:47
【问题描述】:

这里是代码(简化):

Dir = dir('C:\Folder\SubFolder_1\Subfolder_2');
allFiles = {Dir(~[Dir.isdir]).name};

for i = 1:length(allFiles);
    data = importdata(allFiles{i});
end

错误出现在importdata语句的那一行:

Error using importdata (line 137)
Unable to open file.

Error in Main (line 29)
data = importdata(allFiles{i});

编辑 1:从我在上一个案例中所在的同一目录中,当我这样做时,

allFiles = {('C:\Folder\SubFolder_1\Subfolder_2\File1.txt'),... 
            ('C:\Folder\SubFolder_1\Subfolder_2\File2.txt')};

for i = 1:length(allFiles);
    data = importdata(allFiles{i});
end

我没有收到错误,并且文件可以正常读取。

【问题讨论】:

    标签: matlab file text


    【解决方案1】:

    你的语法没问题(至少在这里有效)。

    您在运行语句时是否检查过您的 pwd(当前工作目录)是否为 C:\Folder\SubFolder_1\Subfolder_2?

    如果不考虑连接绝对路径之类的东西:

    path = 'C:\Folder\SubFolder_1\Subfolder_2\';
    Dir = dir(path);
    allFiles = {Dir(~[Dir.isdir]).name};
    
    for i = 1:length(allFiles)
        absoluteFileLocation = [path allFiles{i}];
        data = importData(absoluteFileLocation);
    end
    

    【讨论】:

    • 感谢您的回复。我尝试按照您的建议连接绝对路径,但得到与以前相同的错误。然后我尝试只给它来自同一目录的文件名来测试它是否是目录问题。当我这样做时,我没有出错。 (见编辑 1)
    • 哦,我现在看到了问题所在。当我复制粘贴我的实际路径名时,我忘记在“Subfolder_2”之后添加“\”。我相信它现在可以工作了,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 2018-04-12
    • 1970-01-01
    相关资源
    最近更新 更多