我想分析大量文本日志文件(约100万线)。下面的示例:解析一个大的文本文件,并提取数据,而循环一次以上 - Python的
2016年11月8日03:49.879的阿尔法:(157)一切都很好
2016年11月8日03:49.979的阿尔法:(157)有一个错误这里
2016年11月8日03:50.879伽玛:(2)其他东西在这里
2016年11月8日03:51.879三角洲:(69)有些事情正在发生
我想实现的是查找错误,然后返回与该错误相关的所有行 - 在这种情况下为alfa。问题是,当我第一次循环并发现错误,然后将alfa(157)保存为参考,然后如何在没有循环通过1M的情况下返回所有的alfa(157)行(即使是在例如错误之前发生的行)再次行。如果有50个错误怎么办?这可能吗?这是否是O(n2)问题?
我想使用Python:
def analyze_log(f):
for line in f:
(..)
在'dict'中出现的组错误,其中键是日志标签,值是行列表。您可以使用该词典打印报告。 –
是否需要连续抓取所有线? – jure
@jure他们直到(数),消息长度不同 –