How to load .dat (or even .txt ) files into matlab workspace?

74 views (last 30 days)
Hello
I am new to matlab. I am trying to load .dat files from another folder into matlab. I could use .txt files if that is easier.
Here is code I am using:
directory_name=uigetdir(pwd,'Select data directory');
directory_name=([directory_name '\']);
directory_name=uigetdir(pwd,'Select data directory');
directory_name=([directory_name '\'])
files=dir([directory_name,'*.dat'])
This opens the diretory and I am able to choose the folder of choice. However it does not load the file only the filename. In the matlab workspace it shows that file structure to be 1X1.
If I add the following lines:
filename=files.name;
data=load(filename);
I get the following error, of course:
Error using load
Unable to read file 15a001sen2.dat: No such file or
directory.
Please advise how to load files. thanks!
  2 Comments
Mrittika Mahbub
Mrittika Mahbub on 14 May 2017
Walter Roberson Can u give a example plz. I can't load .dat file
Walter Roberson
Walter Roberson on 14 May 2017
Mrittika Mahbub
I already gave an example.
However, there is no standard format for .dat files. You need to know the format of the particular .dat files you are interesting in to know the commands needed to load in the data.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 25 Feb 2013
[filename directory_name] = uigetfile('*.dat', 'Select a file');
fullname = fullfile(directory_name, filename);
data = load(fullname);
  1 Comment
Ray
Ray on 25 Feb 2013
Edited: Ray on 25 Feb 2013
Thank you very very much. This code does exactly what I was trying to do, as is. Thank you once again!

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 25 Feb 2013
Edited: Azzi Abdelmalek on 25 Feb 2013
fid = fopen([yourpath '/' 'file.txt']);
line1 = fgetl(fid);
res=line1;
while ischar(line1)
line1 = fgetl(fid);
res =char(res,line1)
end
fclose(fid);
res
  1 Comment
Ray
Ray on 25 Feb 2013
Edited: Ray on 25 Feb 2013
Thank you for your response. Instead of the first line of code I added the following: [ afile workdir ] = uigetfile( '*.dat','Select DAT-file' ); fid = fopen([workdir,afile])and then the rest of the code, however when I use this code, it loads an array of 2501 X 9 instead of 2500 X 1.

Sign in to comment.

Categories

Find more on File Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!