python - 从奇数 Dd HH:MM:SS.mm 格式中提取时间数据
问题描述
我正在尝试根据 python 形式导入不是真正的时间、日期或日期时间的实验时间数据。它是 Dd HH:MM:SS.m 的时间流逝格式,其中第一个时间点为 0d 00:00:00.00,26 小时后的点为 1d 02:00:00.00。
有没有一种方法可以使用 datetime 模块来提取适当的时间信息,而无需对当天的字符串搜索进行硬编码并将 24 的倍数添加到小时计数器?
解决方案
要将您的“奇数”格式转换为datetime.timedelta
对象,请尝试:
from datetime import timedelta
import re
input = '1d 02:00:00.00'
def to_timedelta(input):
reg = re.search('([0-9])+d ([0-9]){2}:([0-9]){2}:([0-9]){2}\.([0-9]){2}', input)
ints = tuple(int(t) for t in reg.groups())
return timedelta(days=ints[0],
hours=ints[1],
minutes=ints[2],
seconds=ints[3],
milliseconds=ints[4])
td = to_timedelta(input)
print(td)
推荐阅读
- gis - Altair:如何使用 Altair.chart.project 类型中未列出的投影系统绘制等值线?
- excel - Microsoft Excel - 精确关键字搜索 - (从一组逗号分隔的关键字短语中搜索关键字短语)
- c# - Visual Studio 2015 带回异常窗口
- c# - out in **out string [][] teams** 是什么意思
- mysql - WAMP 不会更改 MySQL 版本
- regex - 带有移动正斜杠的 htaccess 短网址
- json - 为什么我的文本字符串会给出两个不同的 Sha 256 结果?
- c# - 如何在 UWP 和 WinUi 中更改应用程序主题
- python - 由于磁盘访问限制 MAC,Python 无法导入模块
- mysql - 选择外键引用哪个主键