Ваш вопрос неясен относительно формата первого столбца вашего окончательного вывода.
Настройте эти два сценария по мере необходимости:
Требуется, чтобы каждый идентификатор имел всегда 4 линий. Также первый пользователь / последний пользователь может быть пропущен.
#!/usr/bin/env python3
import csv
prev_id = 0
sc = 0
buf = [0, 0, 0, 0]
with open("test.csv") as f:
data = csv.reader(f, delimiter=' ', skipinitialspace=True)
for row in data:
if sc == 4:
print(int(row[0]) - 4, prev_id, buf[0], buf[1], buf[2], buf[3])
sc = 0
else:
prev_id = row[1]
buf[sc] = row[3]
sc += 1
#!/usr/bin/env python3
import csv
prev_id = 0
prev_stat_max = 0
counter = 0
with open('test.csv') as f:
data = csv.reader(f, delimiter=' ', skipinitialspace=True)
length = sum(1 for row in data)
with open('test.csv') as f:
data = csv.reader(f, delimiter=' ', skipinitialspace=True)
for row in data:
if prev_id == row[1]:
if row[3] > prev_stat_max:
priv_stat_max = row[3]
else:
print(counter, prev_id, prev_stat_max)
prev_id = row[1]
prev_stat_max = row[3]
counter += 1
if counter == length:
print(counter, prev_id, prev_stat_max)