MATLAB: How to import a txt file from a subfolders (not included in path)

data importMATLAB

Hi, This might have been asked elsewhere, however I haven't been able to figure out a simple way of doing this.
How can I import a single .txt file located in a subdirectory of my working directory (not included in my path)?
If the file was located in my working directory I could import it as e.g.:
Data = dlmread('filname.txt',',',0,0);
However if my file is located in a subfolder, is there a way to import the file similar like this (which doesn't work)?
Data = dlmread('/subfolder/filname.txt',',',0,0);

Best Answer

You pass a qualified filename -- it can be fully-qualified or partially, as long as it is unambiguous and refers to the correct location.
In your reference above, the leading '/' means the subdirectory is directly underneath the default drive so that it is interpreted as (say) 'C:/subfolder/filename.txt' which is undoubtedly not where it actually is...
If it is directly under your current working directory, then the syntax would be
dlmread('subfolder/filename.txt')
% or
dlmread('./subfolder/filename.txt')
fullfile is useful for building qualified filenames...
wkdir='subfolder'; % get/set the working directory however wish
dlmread(fullfile(wkdir,fname)) % call function with system-consistent full filename
as it takes care of ensuring needed separator and lets you also factor the code to handle different data locations w/o changes to the code itself, just data.