检测列表中的时间戳字符串

时间:2016-11-01 19:57:36

标签: python python-3.x

我试图检测时间戳字符串是否在列表中,如果它存在则将其值发送给结果,如果不是,我希望结果是" NONE& #34 ;.到目前为止,我已经得到了这个。时间戳总是改变btw。我该如何重写这个呢?

lists = ['405',3 ,'2014-12-06 14:08:58.990377', '\\N']

for i in range(len(lists)):
    if lists[i] == ?????:
        result = lists[i].split('.')[0]
    else:
        result = "NONE"

1 个答案:

答案 0 :(得分:4)

对于列表中的每个元素,使用strptime来测试它是否采用您认为是时间戳的格式。如果strptime无法解析字符串,ValueError会抛出from datetime import datetime for element in lists: try: # If this line doesn't throw an Error, it's indeed a timestamp in proper format. datetime.strptime(element, "%Y-%m-%d %H:%M:%S.%f") result = element except (ValueError, TypeError): result = "NONE" 。如果能够解析它,则设置为结果,否则为" NONE。

这样的事情:

Complete statement [Shift+Ctrl+Enter]