Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 将由句点分隔的日期转换为日期时间_Python 3.x_Loops_Date_Datetime_Text - Fatal编程技术网

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
vs
12.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)