我想用 lambda 创建一个能够识别两种不同格式的解析函数
"2014-01-06 15:23:00"
和
"2014-01-06"
想法是使用此函数创建一个 pandas 数据框,但在某些值中缺少小时
这是我的第一个想法
parse = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S') if x is True else pd.datetime.strptime(x, '%Y-%m-%d')
看来x is True 是不正确的
有什么想法吗??
最佳答案
dateutil
有一个处理多种格式的解析器:
>>> dateutil.parser.parse('2015-07-04')
datetime.datetime(2015, 7, 4, 0, 0)
>>> dateutil.parser.parse('2015-07-04 11:23:00')
datetime.datetime(2015, 7, 4, 11, 23)
>>> dateutil.parser.parse('2015-07-04T11:23:56')
datetime.datetime(2015, 7, 4, 11, 23, 56)
甚至像这样的非 iso 格式
>>> dateutil.parser.parse('5-6-15')
datetime.datetime(2015, 5, 6, 0, 0)
关于python - 在 Python 中为不同的日期格式创建一个解析函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31221916/