matlab时间转为数字,如何将日期数组(格式'mm/dd/yy HH:MM:SS')转换为数字?

我最近(1周)决定将我的工作从matlab迁移到Python。由于我习惯了matlab,所以我发现有时难以获得我想要在python中完成的任务。

这是我的问题:

我有一套我想处理的csv文件。到目前为止,我已经成功地将它们加载到组中。每列的大小为600000 x 1.在csv文件的其中一列中,格式为“mm / dd / y HH:MM:SS”的时间。我想将时间列转换为数字,我使用的是matplot lib中的date2num。有一种“矩阵”的方式吗?在matlab中这样做的命令是datenum(time,'mm / dd / yyyy HH:MM:SS'),其中time是一个600000 x 1的矩阵。

谢谢

以下是我正在讨论的代码示例:

import csv

import time

import datetime from datetime

import date from matplotlib.dates

import date2num

time = []

otherColumns = []

for d in csv.DictReader(open('MyFile.csv')):

time.append(str(d['time']))

otherColumns.append(float(d['otherColumns']))

timeNumeric = date2num(datetime.datetime.strptime(time,"%d/%m/%y %H:%M:%S" ))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中可以通过使用日期选择器(DatePicker)或者文本框(EditBox)来输入日期。下面分别介绍如何使用这两种方法输入yyyy-MM-dd HH:mm:ss格式日期。 1. 使用DatePicker输入日期MATLAB的GUI中,可以使用DatePicker控件来选择日期。DatePicker控件可以通过MATLAB自带的uitools库中的uicalendar函数创建。具体步骤如下: 1)在GUI设计模式下,打开“工具箱”面板; 2)在“工具箱”面板中,找到“日期选择器”工具,将其拖动到GUI界面中; 3)在MATLAB代码中,使用以下代码创建DatePicker控件: ```matlab hDatePicker = uicalendar('Weekend', [1 0 0 0 0 0 1], 'SelectionType', 1, 'OutputDateFormat', 'yyyy-MM-dd HH:mm:ss'); ``` 上述代码中,'Weekend', [1 0 0 0 0 0 1]用于指定周末日期为Saturday和Sunday;'SelectionType', 1用于指定DatePicker控件只选择一个日期时间;'OutputDateFormat', 'yyyy-MM-dd HH:mm:ss'用于指定输出的日期格式。 4)在GUI界面中,将DatePicker控件与一个按钮或其他控件关联,当用户点击按钮时,弹出日期选择器窗口。 2. 使用EditBox输入日期MATLAB的GUI中,也可以使用EditBox控件来输入日期。具体步骤如下: 1)在GUI设计模式下,打开“工具箱”面板; 2)在“工具箱”面板中,找到“编辑框”工具,将其拖动到GUI界面中; 3)在MATLAB代码中,使用以下代码创建EditBox控件: ```matlab hEditBox = uicontrol('Style', 'edit', 'Units', 'normalized', 'Position', [0.2 0.5 0.6 0.1], 'String', datestr(now, 'yyyy-MM-dd HH:mm:ss'), 'Callback', @editbox_callback); ``` 上述代码中,'Style', 'edit'用于指定控件类型为编辑框;'Units', 'normalized'用于指定控件位置和大小的单位为归一化单位;'Position', [0.2 0.5 0.6 0.1]用于指定控件在GUI界面中的位置和大小;'String', datestr(now, 'yyyy-MM-dd HH:mm:ss')用于指定控件中显示的字符串,这里使用datestr函数获取当前时间转换为指定格式的字符串;'Callback', @editbox_callback用于指定当用户输入内容时所调用的回调函数。 4)在MATLAB代码中,编写回调函数editbox_callback,用于获取用户输入的日期。 ```matlab function editbox_callback(hObject, ~) dateString = get(hObject, 'String'); dateNum = datenum(dateString, 'yyyy-MM-dd HH:mm:ss'); end ``` 上述代码中,'String', dateString用于获取用户输入的字符串;datenum(dateString, 'yyyy-MM-dd HH:mm:ss')用于将字符串转换MATLAB中的日期数字。 通过上述方法,就可以在MATLAB GUI中输入yyyy-MM-dd HH:mm:ss格式日期了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值