我想分析大量文本日誌文件(約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他們直到(數),消息長度不同 –