我有一个csv文件,其中包含Excel格式的数据时间列,以及另外两个浮点列; Excel格式日期包括自1900年1月1日以来的天数,例如,2表示02-Jan-1900,365表示30-Dec-1900,依此类推。
该文件如下所示:
date,temp,value
41909.89,49.67,32
41910.67,49.16,36
41911.37,45.33,37
在MATLAB中读取此文件并将日期转换为日期时间格式的最佳方法是什么?
答案 0 :(得分:2)
使用readtable
读取文件,然后使用datetime
转换日期。如果您有Financial Toolbox,那么您可以使用x2mdate
从Excel日期编号转换为MATLAB日期编号。如果不是,则偏移量取决于您在Excel中使用的日期格式。有关可能的抵消的详细信息,请参阅x2mdate的文档。
>> tbl = readtable('datafile.txt')
tbl =
3×3 table
date temp value
________ _____ _____
41909.89 49.67 32
41910.67 49.16 36
41911.37 45.33 37
>> tbl.date = datetime(tbl.date+693960,'ConvertFrom','Datenum')
tbl =
3×3 table
date temp value
____________________ _____ _____
27-Sep-2014 21:21:36 49.67 32
28-Sep-2014 16:04:48 49.16 36
29-Sep-2014 08:52:48 45.33 37