Python 3.x 将由句点分隔的日期转换为日期时间
我有一个日期的样本列表,它是从一个更大的数据样本中提取的。一些日期的格式不同,例如Python 3.x 将由句点分隔的日期转换为日期时间,python-3.x,loops,date,datetime,text,Python 3.x,Loops,Date,Datetime,Text,我有一个日期的样本列表,它是从一个更大的数据样本中提取的。一些日期的格式不同,例如01.11.18vs12.23.1983。我的目标是将这些日期转换为datetime格式 dates = ['01.11.18', '2.2.17', '02.02.18', '12.1.16', '12.23.1943', '12.23.19'] 我想要的输出是datetime格式 为此,我尝试了以下方法 from datetime import datetime type_datetime = [] for
01.11.18
vs12.23.1983
。我的目标是将这些日期转换为datetime
格式
dates = ['01.11.18', '2.2.17', '02.02.18', '12.1.16', '12.23.1943', '12.23.19']
我想要的输出是datetime
格式
为此,我尝试了以下方法
from datetime import datetime
type_datetime = []
for d in dates:
datetime_object = datetime.strptime(d, '%m/%d/%Y')
type_datetime.append(datetime_object)
但我犯了个错误
ValueError: time data '01.11.18' does not match format '%m/%d/%Y'
如何更改代码以获得所需的输出?strtime如下
既然有多种格式,一种解决方案是列出可能的日期格式,然后逐一尝试:
type_datetime = []
formats = ("%m.%d.%y", "%m.%d.%Y")
for d in dates:
datetime_object = None
for f in formats:
try:
datetime_object = datetime.strptime(d, f)
break
except:
continue
type_datetime.append(datetime_object)