Time reading in matlab

Hi, I have a data set, using matlab I need to read all the data.But the date and time reading is not working.Please help me.

8 Comments

What file format is the dataset in? What code are you trying? Which MATLAB release are you using?
Dataset is in .catalog format.The conversion is not getting.Iam new in matlab.MatlabR2018b.
[Sig, TStr, Raw] = xlsread('newww.xlsx',1,'A:F');
.catalog do not appear to be .xlsx so I would not expect xlsread() to be able to read them.
But if somehow you got some useful information using xlsread() then I suggest you try using readtable() which is an improved xlsx interface.
Its reading,but time is not reading like HH_MM_SS format.Is there is any way for read it?Please help.
I need a sample input file to test with.
How can I give that?
Zip the file and attach the .zip here.
This is one of it

Sign in to comment.

 Accepted Answer

Hi,
Here is the complete solution script. Please note that your data file is renamed (S1932.txt):
File_Name = 'S1932.txt';
Formatting_Spec = '%s%s%s %s%f%s %f%f%f %c %d%d%d';
N_header = 10;
My_FID=fopen(File_Name, 'r');
DATA=textscan(My_FID, Formatting_Spec, 'headerlines', N_header);
fclose(My_FID);
Date = DATA{1}; % You can ignore this
Time = DATA{2}; % You can ignore this
ET = DATA{3}; % You can ignore this
GT = DATA{4};
MAG = DATA{5};
M = DATA{6};
LAT = DATA{7};
LON = DATA{8};
DEPTH= DATA{9};
Q = DATA{10};
EVID = DATA{11};
NPH = DATA{12};
NGRM = DATA{13};
Good luck.

More Answers (1)

%set up
opt = detectImportOptions('1932.catalog', 'FileType', 'text', 'readvariablenames', false, 'HeaderLines', 10);
opt = setvartype(opt, 1, 'datetime');
opt = setvaropts(opt,1,'InputFormat', 'yyyy/MM/dd');
opt.VariableNames = {'Date', 'Time', 'ET', 'GT', 'MAG', 'M', 'LAT', 'LON', 'DEPTH', 'Q', 'EVID', 'NPH', 'NGRM'};
%read the file
datatable = readtable('1932.catalog', opt);
%throw away the garbage last entries
datatable = rmmissing(datatable);
%create a composite date/time from the date and time fields
datatable.DateTime = datatable.Date + datatable.Time;
datatable.DateTime.Format = 'dd-MMM-uuuu HH:mm:ss.SSS';

Categories

Find more on Holidays / Seasons in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!