关于excel:将单元格结构中的数值数据转换为时间戳(HH:MM:SS)MATLAB

Convert numerical data in a cell structure to a timestamp (HH:MM:SS) MATLAB

我已将Excel电子表格导入到MATLAB中,其中包含一列我想提取的时间戳。但是,由于Excel将时间戳存储为数字数据,因此导入的单元格现在采用非字符串格式,例如0.4479、0.4480等。是否有一种快速的方法将所有单元格转换为HH:MM:SS格式?


是的,datestr可以很容易地解决这个问题。

给出:

1
numericCellData = {0.4479 0.4480}

使用:

1
datestr(cell2mat(numericCellData),'HH:MM:SS')

我们在做什么:

  • 使用cell2mat函数将单元格数组转换为更典型的数字数组。这是主力datestr所期望的。

  • datestr函数用于执行从数字时间到字符串表示形式的这种确切类型的转换。

  • 您的示例是一个有趣的特定案例,其中您的值可能仅表示时间(所有值均小于1;您要求使用HH:MM:SS格式)。对于更一般的情况,要将数字日期和时间数据从Excel转换为Matlab,通常需要调整所使用的日期偏移量:

    • Matlab日期数字:以天为单位,通常为双精度,并且0值表示0000年1月0日。(请考虑新年前夕,罗马帝国是欧洲的主要政治实体,以尚未开发的公历表示。)

    • Excel日期数字:也以天为单位。但是数字0代表1900年1月0日。(或者,除夕,1899年)。在Matlab系统中为693961,有时您需要进行调整。


    选择列>右键单击>设置单元格格式>"数字"选项卡>在"类别"下选择"时间">选择"类型",然后单击"确定"