我正在尝试读取一个Excel文件,该文件是我当前Matlab文件夹的子文件夹。我正在使用以下代码:
readtable('\参考数据\ Aircraft OOP.xlsx','Sheet','formerge');
“参考数据”是我当前Matlab文件夹中的一个文件夹。 但是在运行代码时,我收到以下错误消息。
无法打开文件“ C:\参考数据\ Aircraft OOP.xlsx”作为工作簿。检查文件是否存在,具有读取访问权限并且文件是否为 有效的电子表格文件。
如您所见,Matlab假定“参考数据”目录位于C:/中。
我可以通过简单地使用整个路径来解决此问题,但是此代码将由不同的用户使用,如果使用了整个路径,则每个用户在运行代码之前都必须编辑以上行。
所以我想知道如何将当前文件夹设置为主文件夹而不是C:/。
答案 0 :(得分:2)
字符串
'\Reference data\Aircraft OOP.xlsx'
表示绝对路径,因为它以驱动器的根目录\
开头。
要指定相对路径,请删除反斜杠:
'Reference data\Aircraft OOP.xlsx'
将相对于当前目录评估此路径。
答案 1 :(得分:0)
在转到解决方案之前,请检查以下几点。
如果一切正常,请转到下面的解决方案来解决您遇到的问题。
使用以下代码行构建完整的文件路径。
fullfilePath = fullfile(pwd, '\Reference data\Aircraft OOP.xlsx');
上面代码中的 pwd
是访问Matlab当前工作目录路径的命令。
现在,您可以使用readtable命令读取文件。
readtable(fullfilePath,'Sheet','formerge');
或者,您也可以使用以下代码行正确读取excel文件。
readtable('.\Reference data\Aircraft OOP.xlsx','Sheet','formerge');
文件路径开头的点(。)告诉Matlab在Matlab当前工作目录中向上搜索文件夹。