#python #regex #logging
Вопрос:
У меня есть несколько файлов журналов, которые необходимо объединить на основе схожих IP-адресов. После объединения содержимое файлов необходимо отсортировать по метке времени.
файл журнала 1 : Вызван : 10.247.11.3_Something_Something
10/15/2021 9:51:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs 10/28/2021 10:52:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs
файл журнала 2 : Вызывается : 10.247.11.3_Somethingelse_Somethingelse (тот же ip, что и 1)
10/16/2021 9:51:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs 10/28/2021 11:52:07 logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs logs
код, который у меня есть до сих пор
import os def getip(filename: str): fname = filename return fname.split("_")[0] data = data2 = "" directory = os.listdir('/Users/immam.m/Desktop/logstest') # If the sequence automatically is the same through auto sorting for i in range(len(directory) - 1): if getip(directory[i]) == getip(directory[i 1]): print(directory[i] " " "is equal to" directory[i 1]) print("Same") with open(directory[i]) as fp: data = fp.read() with open(directory[i 1]) as fp: fp.read() data = "n" data = data2 with open(directory[i], 'w') as fp: fp.write(data) else: print(directory[i] "NOT SAME WITH ANYTHING") # https://stackoverflow.com/questions/13613336/how-do-i-concatenate-text-files-in-python
до сих пор мне только что удалось получить файлы на основе одного и того же ip-адреса в цикле. Но я застрял, пытаясь объединить и отсортировать файлы на основе метки времени. Помощь очень ценится
Комментарии:
1. Я бы поместил все данные в базу данных и использовал SQL для работы с данными — сортировки, фильтрации, поиска и т. Д.. ИЛИ, по крайней мере, я бы сначала создал список или
pandas.DataFrame
со всеми данными, а затем попытался бы сортировать, фильтровать, искать и т. Д.