使用 Matlab 重新格式化传感器数据

Reformatting sensor data with Matlab

我有很多传感器数据分为 3 列,时间、传感器名称和传感器值。其中传感器名称每一行重复,直到到达下一个传感器。

例如:https://i.stack.imgur.com/H9KKi.png(不能post,此堆栈交换的代表不足)

我想将数据重新格式化为单独的列变量,并与它们的时间戳对齐。最好的方法是什么?最好使用 Matlab、Excel 或 origin。因此,时间、传感器 A、传感器 B 的第 headers 列及其下方的值。

非常感谢。

我建议使用 unstack 命令。在下面,我将数据读入 table,然后转换为更加表格化的形式。

d = readtable("sensorData.xlsx")
d1 = unstack(d,"Value","Sensor")

d =

  15×3 table

            Date              Sensor      Value
    ____________________    __________    _____

    12-May-2020 13:00:00    {'Sens_a'}     64  
    12-May-2020 14:00:00    {'Sens_a'}      9  
    12-May-2020 14:59:59    {'Sens_a'}     70  
    12-May-2020 15:59:59    {'Sens_a'}     74  
    12-May-2020 13:00:00    {'Sens_b'}     37  
    12-May-2020 14:00:00    {'Sens_b'}     63  
    12-May-2020 14:59:59    {'Sens_b'}     47  
    12-May-2020 15:59:59    {'Sens_b'}     94  
    12-May-2020 16:59:59    {'Sens_b'}     35  
    12-May-2020 17:59:59    {'Sens_b'}     86  
    12-May-2020 18:59:59    {'Sens_b'}     26  
    12-May-2020 13:00:00    {'Sens_c'}     91  
    12-May-2020 14:00:00    {'Sens_c'}      4  
    12-May-2020 14:59:59    {'Sens_D'}     22  
    12-May-2020 15:59:59    {'Sens_D'}     74  


d1 =

  7×5 table

            Date            Sens_D    Sens_a    Sens_b    Sens_c
    ____________________    ______    ______    ______    ______

    12-May-2020 13:00:00     NaN        64        37        91  
    12-May-2020 14:00:00     NaN         9        63         4  
    12-May-2020 14:59:59      22        70        47       NaN  
    12-May-2020 15:59:59      74        74        94       NaN  
    12-May-2020 16:59:59     NaN       NaN        35       NaN  
    12-May-2020 17:59:59     NaN       NaN        86       NaN  
    12-May-2020 18:59:59     NaN       NaN        26       NaN  

>>