我试图检测时间戳字符串是否在列表中,如果它存在则将其值发送给结果,如果不是,我希望结果是" 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"
答案 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]