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

13 visualizaciones (últimos 30 días)
Ray
Ray el 25 de Feb. de 2013
Comentada: Walter Roberson el 14 de Mayo de 2017
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 comentarios
Mrittika Mahbub
Mrittika Mahbub el 14 de Mayo de 2017
Walter Roberson Can u give a example plz. I can't load .dat file
Walter Roberson
Walter Roberson el 14 de Mayo de 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.

Iniciar sesión para comentar.

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 25 de Feb. de 2013
Editada: Azzi Abdelmalek el 25 de Feb. de 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 comentario
Ray
Ray el 25 de Feb. de 2013
Editada: Ray el 25 de Feb. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Workspace Variables and MAT Files en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by