Важной частью является определение времени для всех позиций.
output = []
with open('file.txt') as f:
for line in f:
values = re.split(r'\s+', line.strip(' \n'))
if len(values) > 1:
if ':' in values[0]:
time = values[0] # capture time for period till next time comes
if values[1] in ('fcd0', 'fcd2'):
output.append([time, values[1], int(values[6])])
else:
if values[0] in ('fcd0', 'fcd2'):
output.append([time, values[0], int(values[5])])
Выход:
[['00:00:10', 'fcd0', 108],
['00:00:10', 'fcd2', 109],
['00:01:11', 'fcd0', 16],
['00:01:11', 'fcd2', 17]]