也许是个奇怪的问题,但我们来看看:
我必须分析几个日志文件,我是随机顺序阅读。为了处理他们排序,我需要按提取的日志时间排序。你知道吗
日志条目如下所示:
l = 2001:470:1f14:169:5000:eae0:589d:c211 - SOFT12 [14/Nov/2012:09:32:46 +0100] "POST /request HTTP/1.1" 200 984 "-" "-" 181446
我可以这样提取日期:
l.split('+', 1)[0].split('-', 1)[1].split(' ')[2].split('[')[1]
这给了我:
14/Nov/2012:09:32:46
当我看到一个日志文件,每天有200万条记录,我不想把任何东西转换成datetime对象,这样我就可以切换格式和排序。因此,我正在寻找一个只包含字符串的操作,它可以将字符串的日期部分14/Nov/2012
转换为可排序的2012-11-14
,最好在上面的split语句中包含able。。。你知道吗
问题:
如何修改字符串日期而不将其转换为datetime对象?你知道吗
此代码将起作用:
与其使用列表和它的
.index()
方法,不如使用dict,因为列表将涉及线性搜索。即使列表很短,dict中的散列操作也可能更快。至少值得一试。你知道吗以Nayuki Minase's solution为例:
甚至(为了节省时间)
如果你能确定这一天已经有了正确的格式(前导0)。你知道吗
相关问题 更多 >
编程相关推荐