从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;