我有一个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
。
有什么想法吗?
答案 0 :(得分:2)
iso8601
是一个很棒的开源python模块,用于解析ISO日期时间字符串http://code.google.com/p/pyiso8601/
它将它变成python的原生datetime
类型,应该更容易使用。
答案 1 :(得分:2)
你有两个选择。您可以使用datetime.datetime.strptime
为您提供datetime
个对象,然后执行dt.hour
,这可能是您想要做的事情,具体取决于您使用这些对象。< / p>
或者,或者,如果你想只是按原样使用字符串处理,你可以使用str.split
,如你所示,但使用可选的第二个参数,这是最大的次数到拆分,所以s.split(":", 1)
。或者类似地,str.partition
,基本上会做同样的事情但不会为没有&#34;的事情引发错误:&#34;。有了这两个,你需要使用切片在开始的时候剥离东西。