MATLAB can't find my file

I'm trying to read in an excel spreadsheet and I can't get it to do it.
I put the spreadsheet in the MATLAB home directory, then I put this: -
M = xlsread('Psych_anon_mine.xlsx');
And I get the error message: -
??? Error using ==> xlsread at 214 XLSREAD unable to open file Psych_anon_mine.xlsx. File /Users/Tom**********/Documents/MATLAB/Psych_anon_mine.xlsx not found.
(The stars are just my last name)
Error in ==> Ass_2_data_A at 3 M = xlsread('Psych_anon_mine.xlsx');
Any help would be greatly appreciated

 Respuesta aceptada

Walter Roberson
Walter Roberson el 12 de Dic. de 2012

0 votos

(Looks like you are using OS-X)
At the MATLAB command prompt, try
!ls ~/Documents/MATLAB/Psych_anon*
and see if it finds the file. Perhaps there is a hidden extension.

14 comentarios

Tom
Tom el 12 de Dic. de 2012
Movida: Voss el 9 de Nov. de 2022
Yes thanks that worked. I just copied and pasted the address from that and it's working now. Many thanks.
Walter Roberson
Walter Roberson el 12 de Dic. de 2012
Movida: Voss el 9 de Nov. de 2022
Was there a hidden extension? Or was there a typo in the file name?
Alireza Kharazmi
Alireza Kharazmi el 28 de Jul. de 2016
Hi, I am also using OS and I have similar problem with Matlab. I have tried it but it gives me this error "No such file or directory". I would be grateful if you could help me.
Walter Roberson
Walter Roberson el 28 de Jul. de 2016
Which directory is your spreadsheet in? What is your current directory at the time you give the xlsread() command? Please show the commands that you use to construct the file name, and your xlsread command.
Alireza Kharazmi
Alireza Kharazmi el 28 de Jul. de 2016
I am using importdata command for a txt file. In fact, when I use uigetfile it does not import the data but if I use importdata('filename') it works.
Stephen23
Stephen23 el 28 de Jul. de 2016
@Alireza Kharazmi: uigetfile does not import data, it returns the selected file name. This is clearly explained in the documentation.
Alireza Kharazmi
Alireza Kharazmi el 28 de Jul. de 2016
Sorry, I am not sure if I answered your question properly. I am confused now. I am using three open file with three different push buttons. I am starting from the same directory where .m file is placed. The first push button is uigetfile and then cd command to get into the directory of interest and then importdata some data. Second push buttons is another uigetfile and then importdata some other files. These two steps are okay. The third push button is a uigetfile but the file of interest is inside another folder in the current directory. At this point I get this error "Unable to open file.".
Walter Roberson
Walter Roberson el 28 de Jul. de 2016
Instead of cd'ing around, you should use fullfile() to construct complete file names.
Alireza Kharazmi
Alireza Kharazmi el 8 de Ag. de 2016
My apologies for late response, thank you very much for your help Walter. My problem is fixed now.
Armando Torres
Armando Torres el 9 de Nov. de 2022
Hi Walter,
I am having a similar problem with mzxmlread. I am using OS-X and the 2022 version of Matlab. I am following the same syntax as online and I tried using your command code and it still told me that it couldn't find the file. I don't know what to do. Will you please help me out?
Best,
Armando
Walter Roberson
Walter Roberson el 9 de Nov. de 2022
With the information you have given us, we cannot be sure that the file is intended to be in the current directory, or if it is intended to be in a different folder. If it is possibly in another folder you need to specify the path to the file, possibly using fullfile() to construct the path that is to be passed in.
[filename, filepath] = uigetfile('*.mzXML');
if isnumeric(filename); return; end %user cancel
fullname = fullfile(filepath, filename);
out = mzxmlred(fullname);
If the file intended to be in your current directory then you should verify that the file exists with that exact name, such as using
ls trial*
Image Analyst
Image Analyst el 9 de Nov. de 2022
@Armando Torres try it this way
fullFileName = fullfile(pwd, 'trial1.mzxml');
if ~isfile(fullFileName)
warningMessage = sprintf('Error:\n"%s"\nwas not found. Please locate it.', fullFileName)
uiwait(warndlg(warningMessage));
% Have user browse for a file, from a specified "starting folder."
% For convenience in browsing, set a starting folder from which to browse.
startingFolder = pwd; % or 'C:\wherever';
if ~isfolder(startingFolder)
% If that folder doesn't exist, just start in the current folder.
startingFolder = pwd;
end
% Get the name of the file that the user wants to use.
defaultFileName = fullfile(startingFolder, '*.mz*');
[baseFileName, folder] = uigetfile(defaultFileName, 'Select a file');
if baseFileName == 0
% User clicked the Cancel button.
return;
end
fullFileName = fullfile(folder, baseFileName)
end
out = mzxlmread(fullFileName)
Armando Torres
Armando Torres el 10 de Nov. de 2022
I’ll give it a try later on tonight! Thank you both so much. I will update you with what happens
Armando Torres
Armando Torres el 10 de Nov. de 2022
It worked! Thank you both

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

Tom
el 12 de Dic. de 2012

Comentada:

el 10 de Nov. de 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by