You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matlab中将时间列转换为datetime格式后导出至Python

在Matlab中将数值时间序列转换为datetime并导出CSV的方案

核心思路

你的time是从0开始的连续数值序列,需要先映射到标准datetime格式,再通过**表格(table)**类型整合数据后导出,这样Python能直接识别时间列。

具体步骤

  • 转换数值时间为datetime类型
    假设你的时间单位是秒(若为毫秒/微秒,替换seconds为milliseconds/microseconds),以Unix纪元(1970-01-01 00:00:00)为基准时间:

    % 定义基准时间
    base_datetime = datetime(1970, 1, 1, 0, 0, 0);
    % 将数值时间转换为datetime数组
    time_dt = base_datetime + seconds(time);
    

    如果你需要自定义起始时间(比如实验开始时间),直接修改base_datetime即可,例如:

    base_datetime = datetime(2024, 5, 20, 10, 30, 0); % 2024年5月20日10点30分
    
  • 构建包含datetime的数据集表格
    由于普通矩阵无法混合datetime和数值类型,需用table整合数据:

    % 替换variable_u、variable_y为你的实际变量,自定义列名方便识别
    data_table = table(time_dt, variable_u, variable_y, ...
        'VariableNames', {'time', 'u_signal', 'y_signal'});
    
  • 导出为CSV文件
    使用writetable函数导出,该函数会自动将datetime序列转为标准字符串格式,Python读取时可直接解析:

    writetable(data_table, 'processed_data.csv');
    

Python端读取验证

用pandas读取时,可指定解析时间列:

import pandas as pd
df = pd.read_csv('processed_data.csv', parse_dates=['time'])
# 查看数据类型,time列会显示为datetime64
print(df.dtypes)

内容的提问来源于stack exchange,提问作者achour99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 17:05:13