我有一堆我要导入的文件。我把它们分类到不同的目录中。这就是我想要做的事情:
file1 = '/directory1/directory2/myfile.csv';
M = csvread(file1,1,0);
但这不起作用。命令窗口的输出是:
Error using csvread
File not found.
答案 0 :(得分:2)
之间存在很大差异
file1 = '/directory1/directory2/myfile.csv';
和
file1 = 'directory1/directory2/myfile.csv';
第一个是从文件系统的根开始的绝对路径。第二个是相对路径 - 相对于您当前的工作目录(您在命令窗口中导航到的位置或M文件的位置,请参阅pwd
)。您可以使用任何一种形式,但无论您使用哪种形式都需要存在。如果您的CSV数据位于相对于脚本或M文件的特定文件夹中,则可以轻松使用相对路径。否则,如果您运行位于此数据上不同位置的不同脚本,则需要指定绝对路径。
要获取文件的绝对路径,只要它是相对路径(或者只是你在同一目录下的名称),你可以使用fileattrib
函数:
s = fileattrib(file_relpath);
file_abspath = s.Name;