我正在嘗試搜索CSV文件的重複設備名稱的行。輸出應記錄第一個匹配行的日期,並記錄最後一行的日期。我需要一些關於從CSV文件中刪除重複設備名稱的邏輯的幫助,同時還要記錄設備首次和最後一次出現的時間。搜索CSV的匹配字段,並使用初始日期
import time as epoch
# AlertTime, DeviceName, Status
Input = [['14/08/2016 13:00', 'device-A', 'UP'], ['14/08/2016 13:15', 'device-B', 'DOWN'], ['15/08/2016 17:30', 'device-A', 'UP']]
# FirstSeen, LastSeen, DeviceName, Status
Output = []
# Last 48 hours
now = epoch.time()
cutoff = now - (172800)
for i in Input:
AlertTime = epoch.mktime(epoch.strptime(i[0], '%d/%m/%Y %H:%M'))
if AlertTime > cutoff:
Result = [i[0], i[0], i[1], i[2]]
Output.append(Result)
print(Output)
輸出(3項):
[['14/08/2016 13:00', '14/08/2016 13:00', 'device-A', 'UP'], ['14/08/2016 13:15', '14/08/2016 13:15', 'device-B', 'DOWN'], ['15/08/2016 17:30', '15/08/2016 17:30', 'device-A', 'UP']]
通緝輸出(2項):
[['14/08/2016 13:15', '14/08/2016 13:15', 'device-B', 'DOWN'], ['14/08/2016 13:00', '15/08/2016 17:30', 'device-A', 'UP']]
用'device'關鍵和'(FirstSeen,LastSeen,設備名稱使用字典,狀態)'作爲價值。 –
@VedangMehta也許你可以省略'DeviceName'字段,因爲它已經是關鍵了?否則,我完全同意。 – bdvll
@bdvll你是完全正確的。 –