How to read .dat file using fopen??

5 次查看(过去 30 天)
I want to read a .dat using following code but I am not getting any data.
there is not allowed to upload .dat file so i uploaded in a text file fomate.
fbc = fopen('AE33.dat');
BC = fscanf(fbc, '%.f-%f-%.f,%.f:%.f:%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f,%.f');
fclose(fbc);
  2 个评论
Walter Roberson
Walter Roberson 2018-6-11
(Note: you can zip .dat files and upload the zip)
Vishnu Dhakad
Vishnu Dhakad 2018-6-11
编辑:Vishnu Dhakad 2018-6-11
Thanks,
Now,
I have attached it

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2018-6-11
fmt = ['%{YYYY/MM/dd}D %{HH:mm:ss}D', repmat('%f', 1, 71)];
fbc = fopen('AE33.dat', 'rt', 'n', 'UTF8');
BC = textscan(fbc, fmt, 'HeaderLines', 7, 'CollectOutput', true);
fclose(fbc);
dt = BC{1}+(BC{2}-dateshift(BC{2},'start','day'));
dt.Format = 'default';
numbers = BC{3};
Now dt is a vector of datetimes read in from the first two columns of the lines, and numbers is a numeric array with 71 columns representing the data on each line after the date/time entries.
  3 个评论
Vishnu Dhakad
Vishnu Dhakad 2018-6-12
Can you explain to me that why you use 'UTF8'?
Walter Roberson
Walter Roberson 2018-6-12
When I had a look at the content of your file, I saw that before the first few readable text characters, there were a couple of non-printable characters, which I recognized as being UTF Byte Order Mark that indicated UTF encoding was being used and which UTF was being used. I ran an old program of mine that analyzes UTF encoded files and it told me that the file was plain UTF-8.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by