将以Excel格式存储的日期时间数据读入MATLAB

时间:2017-10-12 03:27:37

标签: excel matlab datetime loaddata

我有一个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中读取此文件并将日期转换为日期时间格式的最佳方法是什么?

1 个答案:

答案 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