从Matlab中的另一个目录加载csv文件

从Matlab中的另一个目录加载csv文件,matlab,path,filepath,Matlab,Path,Filepath,我有一堆文件要导入。我已将它们分类到不同的目录中。以下是我想做的: file1 = '/directory1/directory2/myfile.csv'; M = csvread(file1,1,0); 但这是行不通的。命令窗口上的输出为: Error using csvread File not found. 两者之间有很大的区别 file1 = '/directory1/directory2/myfile.csv'; 及 第一个是从文件系统的根开始的绝对路径。第二个是相对路径

我有一堆文件要导入。我已将它们分类到不同的目录中。以下是我想做的:

file1 = '/directory1/directory2/myfile.csv';
M     = csvread(file1,1,0);
但这是行不通的。命令窗口上的输出为:

Error using csvread
File not found.

两者之间有很大的区别

file1 = '/directory1/directory2/myfile.csv';

第一个是从文件系统的根开始的绝对路径。第二个是相对路径–相对于当前工作目录(您在命令窗口中导航到的位置或M文件的位置,请参阅)。您可以使用任何一种形式,但无论使用哪种形式,都需要存在。如果CSV数据位于相对于脚本或M文件的特定文件夹中,则很容易使用相对路径。否则,如果在此数据上运行位于不同位置的不同脚本,则需要指定绝对路径

要获取给定文件相对路径(或者如果您位于同一目录中,则仅获取其名称)的绝对路径,可以使用以下函数:

s = fileattrib(file_relpath);
file_abspath = s.Name;

太好了,这就成功了!我第一次使用'/directory1/file1',但不起作用。@SolalAmouyal:太好了。我刚刚添加了一点关于通过
fileattrib
查找绝对路径的内容,这可能会有所帮助。
s = fileattrib(file_relpath);
file_abspath = s.Name;