I have a file, as shown below. I plan to create a list of lists with blocks data using itertools.groupby, but i am difficulty to figure out the key part to split the lines into blocks of lists.
Any idea ?
with open(infile) as f:
blocks = []
for key, val in itertools.groupby(f, lambda x:):
if key:
blocks.append(list(val))
Input:
Timestamp : 2017-02-17 06:41:33.163000 EST
Event : fabric
DataFields : Zen
Timestamp : 2017-02-17 06:41:33.163000 EST
Event : application
DataFields : Flood1
Timestamp : 2017-02-17 06:41:33.163000 EST
Event : fabric
DataFields : Flood2
Timestamp : 2017-02-17 06:41:33.163000 EST
Event : application
DataFields : Flood3
Output: should be list of lists
[list1, list2, list3, list4]
list1 = [Timestamp : 2017-02-17 06:41:33.163000 EST, Event : fabric, DataFields : Zen]
list2 = [Timestamp : 2017-02-17 06:41:33.163000 EST, Event : application, DataFields : Flood1]
list3 = [Timestamp : 2017-02-17 06:41:33.163000 EST, Event : fabric, DataFields : Flood2]
list4 = [Timestamp : 2017-02-17 06:41:33.163000 EST, Event : application, DataFields : Flood3]