How can open and read .dat file?

A=[3 4 4 NaN NaN NaN NaN NaN;
36 46 4 4 1 3 NaN NaN;
24 32 3 3 1 3 2 3;
25 32 3 3 1 3 2 NaN];
I have stored this matrix as a .dat file using following code:
filename = sprintf('output.dat');
dlmwrite(filename, A, ' ' );
Now I want to open (fopen) this "output.dat" file in read mode and want to read data from this open file using fscanf. How can I do that?
any help would be greatly appreciated.
Thank you!

2 commentaires

Rik
Rik le 8 Sep 2020
What did you try?
The matrix A has been stored in output.dat file in my computer. Now I want to read data from the output.dat file using fopen and fscanf. I have used the following code:
fileID = fopen('output.dat','r');
result = fscanf(fileID,'%f')
It results single column array but I need the output in the following format:
result=[3 4 4 NaN NaN NaN NaN NaN;
36 46 4 4 1 3 NaN NaN;
24 32 3 3 1 3 2 3;
25 32 3 3 1 3 2 NaN];
or,
result=result={[3 4 4]; [36 46 4 4 1 3]; [24 32 3 3 1 3 2 3]; [25 32 3 3 1 3 2]};

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 8 Sep 2020

0 votes

result = load('output.dat');

4 commentaires

SM
SM le 9 Sep 2020
Appreciated! but I want in different way. I have explained in my comment about how I have tried to solve it. Could you proceed that way?
Walter Roberson
Walter Roberson le 9 Sep 2020
You cannot solve the problem using fscanf() unless you already know the number of columns in advance.
You can solve the problem by looking with fgets() or fgetl() to pull in one line at a time, and sscanf() that line, and check the lines for consistency of lengths.
You can also solve the problem with dlmread() or with textscan(). If you use textscan then you can pass in '' (empty string) as the format, which is an undocumented option that will figure out how many columns there are for numeric use.
You can also use readmatrix() for R2019b or later.
Huy Le Van
Huy Le Van le 4 Nov 2020
Modifié(e) : Rik le 4 Nov 2020
I can not read file.dat.
Do you replay follow email []@gamil.com
Walter Roberson
Walter Roberson le 4 Nov 2020
dat is not a fixed file format. It is used by many different programs for whatever data they have handy. You would need to know which program created the file to try to figure out what the file format is.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Large Files and Big Data dans Centre d'aide et File Exchange

Question posée :

SM
le 8 Sep 2020

Community Treasure Hunt

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

Start Hunting!

Translated by