我有一项任务,按时间顺序排列下面的数据,并根据时间戳列出数据。如何在python中按时间顺序排列事件和数据
如果有人能指导我完成逻辑,我可以尝试自己编写代码。
输入:
Timestamp : 2017-02-13 12:07:25.040000 UTC
Event Name : linkManager/link-event
DataFields : [srcSwName:X, srcPortName:ethernet30, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X reason:Port Down]
Timestamp : 2017-02-13 12:07:26.040000 UTC
Event Name : eventManager/event
DataFields : [srcSwName:X, srcPortName:ethernet30, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X, reason:Port Down]
Timestamp : 2017-02-13 12:07:25.040000 UTC
Event Name : linkManager/link-event
DataFields : [srcSwName:X, srcPortName:ethernet29, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X reason:Port Down]
Timestamp : 2017-02-13 12:07:26.040000 UTC
Event Name : eventManager/event
DataFields : [srcSwName:X, srcPortName:ethernet30, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X, reason:Port Down]
Timestamp : 2017-02-13 12:07:25.040000 UTC
Event Name : eventManager/event
DataFields : [srcSwName:X, srcPortName:ethernet30, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X, reason:Port Down]
预期输出:
Timestamp : 2017-02-13 12:07:25.040000 UTC
Event Name : linkManager/link-event
DataFields : [srcSwName:X, srcPortName:ethernet30, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X reason:Port Down]
Timestamp : 2017-02-13 12:07:25.040000 UTC
Event Name : linkManager/link-event
DataFields : [srcSwName:X, srcPortName:ethernet29, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X reason:Port Down]
Timestamp : 2017-02-13 12:07:25.040000 UTC
Event Name : eventManager/event
DataFields : [srcSwName:X, srcPortName:ethernet30, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X, reason:Port Down]
Timestamp : 2017-02-13 12:07:26.040000 UTC
Event Name : eventManager/event
DataFields : [srcSwName:X, srcPortName:ethernet30, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X, reason:Port Down]
Timestamp : 2017-02-13 12:07:26.040000 UTC
Event Name : eventManager/event
DataFields : [srcSwName:X, srcPortName:ethernet30, dstSwName:X, dstPortName:ethernet3, fabricLinkEventType:X, reason:Port Down]
你可以找到一种方式来读取文件,每行有''检查',如果它是'Timestamp','Event Name'或'Datafields'。如果是这样,将它追加到一个特定的列表中(每个变量列表中有一个列表:list_timestamp,list_event_name和list_datafields),然后你可以压缩你创建的列表,通过时间戳记压缩列表。在所有这些过程完成后,您可以使用'for循环'重新创建文件布局,同时用'.format()'打印每个变量' –