可变日期时间记录以及如何将所有记录转换为一种格式
Variable Datetime Records and how to convert all into one format
我有一个大约 15000 行长的日期时间字符串列表,所有格式都不同,即一些包括微秒,一些缺少日期等。我想知道是否有一个解析器说:
这里应该是:'%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
这些是不同类型的格式。我知道我需要对第一个示例和第四个示例进行不同的解析,但是,给定第一个和第二个,或者第二个和第三个,我们会说,是否有一个快速的,如果它 missin .%f in %Y-%m-%d %H:%M:%S.%f 然后设置 %f = 00000。这样有意义吗?
python-dateutil 包也许能帮到你。它接受日期的多种文本格式,以及 returns 一个 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
我有一个大约 15000 行长的日期时间字符串列表,所有格式都不同,即一些包括微秒,一些缺少日期等。我想知道是否有一个解析器说:
这里应该是:'%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
这些是不同类型的格式。我知道我需要对第一个示例和第四个示例进行不同的解析,但是,给定第一个和第二个,或者第二个和第三个,我们会说,是否有一个快速的,如果它 missin .%f in %Y-%m-%d %H:%M:%S.%f 然后设置 %f = 00000。这样有意义吗?
python-dateutil 包也许能帮到你。它接受日期的多种文本格式,以及 returns 一个 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