CAn anyone help explain how to fix this? I think it may be to do with formatting but as its an unusual way of formatting date/time I'm having some issues
Plotting Date Time data being read from an excel table
6 ビュー (過去 30 日間)
古いコメントを表示
I'm trying to read an excel file where the format of the date/time data is: '01.10. 07:30' ('dd.mm. HH:MM')
I can read the raw text data into MATLAB using:
[num,text,both] = xlsread(filename,sheet,'B:B');
But I then try to convert this into date number format using:
DateTime = datenum(date,'dd.mm. HH:MM');
However I'm getting the following error:
Error using datenum (line 188)
DATENUM failed.
Error in WeatehrInfoGraphs (line 9)
DateTime = datenum(date,'dd.mm. HH:MM');
Caused by:
Error using dtstr2dtnummx
Failed to convert from text to date number.
回答 (1 件)
Cris LaPierre
2020 年 11 月 10 日
Then, when you plot, your datetimes will appear in your axis. If you need to adjust the format, use the xtickformat function.
5 件のコメント
Cris LaPierre
2020 年 11 月 10 日
編集済み: Cris LaPierre
2020 年 11 月 10 日
Ok, here's how I would load the spreadsheet.
opts = detectImportOptions("ZanzibarConditions.xlsx");
opts = setvartype(opts,"Date","datetime");
opts = setvaropts(opts,"Date",'InputFormat','MM.dd. HH:mm');
% By default, variable names are the column headers. That can result in a warning (see below)
% These can be changed using the syntax below (uncomment & provide name for each column).
% opts.VariableNames = ["Hour","Date","NDI","DIAS",...];
data = readtable("ZanzibarConditions.xlsx",opts)
With your data in a table, you can access the individual variables using dot notation.
data.Date
Peter Perkins
2020 年 11 月 20 日
In addition to what Cris sys, you might find it convenient to convert that table to a timetable using table2timetable.
参考
カテゴリ
Help Center および File Exchange で Dates and Time についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!