我在ISO格式分裂時間戳按小時
[u"2000-01-01T00:00:00+00:00", u"2000-01-01T00:00:00+00:00", ... ]
我試圖分裂按小時每串時間戳列表。然而,使用"string".strp(":")
顯然不會工作,因爲too many values to unpack
錯誤(由於幾個:),並且"string".strp(":%S")
給出值錯誤more than one value to unpack
。 有什麼建議嗎?
我在ISO格式分裂時間戳按小時
[u"2000-01-01T00:00:00+00:00", u"2000-01-01T00:00:00+00:00", ... ]
我試圖分裂按小時每串時間戳列表。然而,使用"string".strp(":")
顯然不會工作,因爲too many values to unpack
錯誤(由於幾個:),並且"string".strp(":%S")
給出值錯誤more than one value to unpack
。 有什麼建議嗎?
iso8601
是一個奇妙的,開放源碼的Python模塊來解析ISO日期時間字符串http://code.google.com/p/pyiso8601/
它把它變成Python的原生datetime
類型應該是比較容易的工作。
你有兩種選擇。您可以使用datetime.datetime.strptime
爲您提供datetime
對象,然後只需執行dt.hour
,您可能想要執行此操作,具體取決於您對這些對象所做的操作。
或者,如果您想按照原樣使用字符串處理,則可以使用str.split
(如上所示),但使用可選的第二個參數(即分割的最大次數),所以s.split(":", 1)
。或者類似地,str.partition
,它基本上會做同樣的事情,但不會爲沒有「:」的事物引發錯誤。使用這兩種方法,您需要先使用切片剝離開始時的事物。
感謝您的幫助。我會試試這個。 – ehertele 2012-07-24 18:07:33