2014-01-22 70 views
0

我有一個文件,在文件的每一行中都有一個日期。日期格式如下。Python:擺脫日期中存在的垃圾字符串

Dec 15, 2013 6:50:52 PM CST 

我想用python格式轉換日期。

例如:

2013-12-15 6:50:52 

我現在面臨的問題是我怎麼能清除附着的日期,即(CST)的垃圾串

我採取了以下方法來轉換日期

date_capture=datetime.datetime.strptime('Dec 11, 2013 11:55:00 AM','%b %d, %Y %H:%M:%S %p') 

但我仍然無法從日期中刪除垃圾字符串CST。

您的幫助將不勝感激。

回答

2

您可以使用split()join()方法:

s = "Dec 15, 2013 6:50:52 PM CST" 

new_s = " ".join(s.split()[:-1]) 

print new_s 

輸出:

Dec 15, 2013 6:50:52 PM 

然後,您可以轉換日期:

date_capture = datetime.datetime.strptime(new_s, '%b %d, %Y %H:%M:%S %p') 

你也可以做這直接:

date_capture = datetime.datetime.strptime(" ".join(s.split()[:-1]), '%b %d, %Y %H:%M:%S %p') 
+1

+1爲索引中的事情笑臉的。 – NoBugs

0

使用str.rsplit

>>> 'Dec 15, 2013 6:50:52 PM CST'.rsplit(None, 1)[0] 
'Dec 15, 2013 6:50:52 PM' 
>>> time_str = 'Dec 15, 2013 6:50:52 PM CST'.rsplit(None, 1)[0] 
>>> datetime.datetime.strptime(time_str, '%b %d, %Y %H:%M:%S %p') 
datetime.datetime(2013, 12, 15, 6, 50, 52)