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

9 visualizzazioni (ultimi 30 giorni)
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 Commenti
Mrittika Mahbub
Mrittika Mahbub il 14 Mag 2017
Walter Roberson Can u give a example plz. I can't load .dat file
Walter Roberson
Walter Roberson il 14 Mag 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.

Accedi per commentare.

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 25 Feb 2013
Modificato: Azzi Abdelmalek il 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 Commento
Ray
Ray il 25 Feb 2013
Modificato: Ray il 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.

Accedi per commentare.

Categorie

Scopri di più su Workspace Variables and MAT Files in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by