我有一些日志解析代码需要将时间戳记转换为日期时间对象。我使用的是datetime.strptime,但是这个函数根据cProfile的cumtime列使用了很多cputime。时间戳的格式为01/Nov/2010:07:49:33
。Python datetime.strptime()吃了很多CPU时间
目前的功能是:
new_entry['time'] = datetime.strptime(
parsed_line['day'] +
parsed_line['month'] +
parsed_line['year'] +
parsed_line['hour'] +
parsed_line['minute'] +
parsed_line['second']
, "%d%b%Y%H%M%S"
)
有谁知道我可能会优化呢?
把它变成一个函数,并在我的代码中对这个和strptime()之间来回多次相同的100万条日志行进行测试。总分析时间始终在80到50秒之间! – 2010-11-02 18:40:01
好的解决方案。你能否请我也建议如果我有12个小时的格式,我该怎么办?除了放置条件并手动完成之外,还有其他方法可以处理吗? – Naman 2015-04-15 05:47:02
@Naman你可以添加'am_pm_offset = {'AM':0,'PM':12}'并且添加到几个小时。 – 2015-04-15 11:49:24