How do I read this csv file in and convert the dates?
14 views (last 30 days)
Show older comments
How can I use readtable() to read in this .csv and convert the dates from AM/PM to 24 hour at the same tieme
NA-KBOS , Hourly Forecast Made Oct 19 2017 1509 UTC
LocalTime, Temp, TempDiff, TempNormal, DewPoint, Cloud Cover, FeelsLikeTemp, FeelsLikeTempDiff, Precip, WindDir, WindSpeed(mph)
10/19/2017 12:00:00 AM,55.04,-2.1,48.75,46.94,0,55.04,-2.1,0,200,8.1,
10/19/2017 1:00:00 AM,53.96,-2.41,47.2,46.94,0,53.96,-2.41,0,180,8.1,
10/19/2017 2:00:00 AM,53.06,-2.66,46,46.94,0,53.06,-2.66,0,210,9.2,
4 Comments
Walter Roberson
on 20 Oct 2017
Unfortunately, %D formats can only handle spaces in the case where the whitespace property has been set to exclude space.
Try
temp = datestr( datenum(B(:,1), 'mm/dd/yyyy HH:MM:SS PM'), 'mm/dd/yyyy HH:MM:SS');
B(:,1) = cellstr(temp);
Accepted Answer
Jeremy Hughes
on 20 Oct 2017
Edited: Jeremy Hughes
on 20 Oct 2017
Hi, I have two things.
The first is that readtable should recognize the format, and return datetimes (assuming you are in a recent release. I didn't need to pass anything in to get DATETIME out.) If not, then the format should be %{MM/dd/uuuu hh:mm:ss aa}D.
Second, the format you see is only a display format. You can simply change the format of the array to see it in 24 hour time.
This should be as easy as:
T = readtable(filename)
T.LocalTime.Format = 'MM/dd/uuuu HH:mm:ss'
Check out the datetime page for more info on the formats supported. https://www.mathworks.com/help/matlab/ref/datetime.html
0 Comments
More Answers (0)
See Also
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!