我有一个大约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.这有意义吗?
答案 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