выполнение операций над блоками данных - PullRequest
0 голосов
/ 05 октября 2018

У меня есть этот огромный текстовый файл с данными внутри него, которые я хочу изменить в новом формате.

*******unwanted headers********
results
- 
1 2 3 4 3 6 7 8
1 2 3 4 2 6 7 8
1 2 3 4 1 6 7 8
1 2 3
-
-
1 2 3 4 3 6 7 8
2 2 3 4 2 6 7 8
1 2 3
-
2 2 3 4 3 6 7 8
1 2 3 4 2 6 7 8
1 2 3
1 2 3
-

Ввод в формате: N, X, Y, E, T, x, y, z

Я хочу сделать следующее:

  1. Игнорировать строки заголовка
  2. Зацикливать каждый блок (один блок - это любые последовательные строки длиной = 8)
  3. сортировать столбец T по убыванию
  4. посмотреть на столбец N и проверитьесли в первой строке стоит 1, а в следующей строке - 2 (применяется только к строкам длиной 8)
  5. получить z, y, x, E из двух строк
  6. repeatшаги 3, 4 и 5 для каждого блока
  7. вывод должен быть в формате: z1 y1 x1 E1 z2 y2 x2 E2

Это означает, что мой код не должен сообщать о результате изпервые два блока, потому что они не соответствуют условиям, которые я установил, но третий блок сообщит результат.

Примечание: данные являются числами с плавающей точкой, а не целыми числами.

Я пробовал этот код, но он не работает:

import fileinput
for Line in fileinput.input():
    Line = Line.split()
    if Line == '- ':
        continue
    if len(Line) == 8:
        'apply the conditions'
        continue
    if len(Line) != 8:
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...