Effacer les filtres
Effacer les filtres

uigetfile help (loading a file from different folder than mfile's)

24 vues (au cours des 30 derniers jours)
NDKA
NDKA le 14 Avr 2012
Commenté : Titus Edelhofer le 25 Mar 2015
Hi, I'd like to load my text file in to matlab using 'uigetfile' command. I can do that, but the problem is my text file must be in the same folder as my *.m file.
I'm writing the command something like below. And I'm getting an error at "Unable to open file." at the 'importdata' line (2nd command in my below code)
[STMFILE, PATHNAME] = uigetfile('*.TXT','PICK TEXT FILE');
[A] = importdata(STMFILE, '\t', 15);
Is there any way to load a file (eg:TXT) in to Matlab, which is not in the same folder/directory as my mfile?
Please help. Thanks

Réponse acceptée

Titus Edelhofer
Titus Edelhofer le 14 Avr 2012
Hi,
when you want to read from another folder, you will have to use the full path:
[stmfile, stmpath] = uigetfile('*.txt', 'pick text file');
A = importdata(fullfile(stmpath, stmfile), '\t', 15);
Titus
  4 commentaires
S.Kankaria
S.Kankaria le 25 Mar 2015
Worked well and good. Thanks!!
Titus Edelhofer
Titus Edelhofer le 25 Mar 2015
@BSantos: choosing "path" as variable is more than dangerous, because path defines the MATLAB search path ...
Titus

Connectez-vous pour commenter.

Plus de réponses (2)

Jan
Jan le 14 Avr 2012
Did you read the help text of uigetfile already?
help uigetfile
Especially the examples should be helpful. In opposite to this, the doc uigetfile is more helpful for the inputs, but not for the usage of the outputs.

Guo
Guo le 16 Avr 2012
Or you can change to the data directory before importing your data:
eval(['cd ',stmpath]);
A=importdata(stmfile,'\t',15);
  1 commentaire
Iain
Iain le 21 Juin 2013
cd(stmpath) is a much faster way than using eval

Connectez-vous pour commenter.

Catégories

En savoir plus sur Low-Level File I/O dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by