我有一堆要导入的文件。我已将它们分类到不同的目录中。这是我想做的事情:
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 文件的位置,请参阅 参考资料pwd
)。您可以使用任何一种形式,但无论您使用哪种形式都需要存在。如果您的 CSV 数据位于相对于您的脚本或 M 文件的特定文件夹中,则使用相对路径很容易。否则,如果您运行位于此数据不同位置的不同脚本,您将需要指定绝对路径。
要获得给定相对路径的文件的绝对路径(或者如果您在同一目录中,则仅获取其名称),您可以使用以下fileattrib
函数:
s = fileattrib(file_relpath);
file_abspath = s.Name;