变量日期时间记录以及如何将全部转换为一种格式

时间:2015-02-24 14:14:14

标签: python datetime convention

我有一个大约15000行长的Datetime字符串的列表,所有字符串都有不同的格式,例如,一些包括微秒,一些是缺少日期等等。我想知道是否有一个解析器说:

这应该是什么:'%Y-%m-%d%H:%M:%S。%f

如果遗漏了任何内容,请填写

%Y< - 2014

%m < - 01

%d < - 01

...

我刚刚被要求举例说明我的数据状态,所以我给出了5行的部分内容

2014-7-15 6:35:13.000005
2014-7-10 6:35:15
2014-7-11 6:35
September-15, 6:35:13.000005

这些是各种格式。我知道我需要对第一个例子和第四个例子进行不同的解析,但是,鉴于第1和第2个,或者第2个和第3个,我们会说,有一个快速的,如果它的错过。% f%%Y-%m-%d%H:%M:%S%f然后设置%f = 00000.这有意义吗?

1 个答案:

答案 0 :(得分:0)

包裹python-dateutil可以在这里为您提供帮助。它接受多种日期文本格式,并返回Python datetime对象。例如,使用您的示例:

from dateutil.parser import parse

>>> parse('2014-7-15 6:35:13.000005')
datetime.datetime(2014, 7, 15, 6, 35, 13, 5)

>>> parse('2014-7-10 6:35:15')
datetime.datetime(2014, 7, 10, 6, 35, 15)

>>> parse('2014-7-11 6:35')
datetime.datetime(2014, 7, 11, 6, 35)

>>> parse("September-15, 6:35:13.000005")
datetime.datetime(2015, 9, 15, 6, 35, 13, 5)

拥有datetime对象后,您可以使用strftime()以您喜欢的格式字符串,以任意格式自由输出它:

>>> parse('2014-7-11 6:35').strftime('%Y-%m-%d %H:%M:%S.%f')
'2014-07-11 06:35:00.000000'

>>> parse('September-15, 6:35:13.00000').strftime('%Y-%m-%d %H:%M:%S.%f')
'2015-09-15 06:35:13.000000'

python-dateutil包是available here on PyPi,可以安装:

pip install python-dateutil