python 将多种日期格式转换为一种格式

vis*_*nth 1 python parsing date

我的数据中的日期变量有多种格式,例如 DD/MM/YYYY D/MM/YY DD/M/YYYY 12/8/2017 27/08/17 8/9/2017 10/9/2017 15/09/ 17..

我需要将这些多种格式更改为一种格式,例如 DD/MM/YYYY

尝试创建一个解析函数

def parse_date(date):
if date == '':
    return None
else:
    return dt.strptime(date, '%d/%m/%y').date()
Run Code Online (Sandbox Code Playgroud)

当我将此函数应用于我的数据集时,它会抛出以下错误。

“() 中的 ValueError Traceback(最近一次调用最后一次)----> 1 data.Date = data.Date.apply(parse_date)

未转换的数据仍然存在错误 ValueError:未转换的数据仍然存在:17"

如何解决未转换数据仍然存在错误?

Rak*_*esh 5

您可以使用dateutil 模块来执行此操作

import dateutil.parser as dparser
a = ["12/8/2017", "27/08/17", "8/9/2017", "10/9/2017", "15/09/17"]

for i in a:
    print dparser.parse(i,fuzzy=True).date()
Run Code Online (Sandbox Code Playgroud)

结果:

2017-12-08
2017-08-27
2017-08-09
2017-10-09
2017-09-15
Run Code Online (Sandbox Code Playgroud)