Перемещаться по строкам после использования readline() python

В настоящее время я пытаюсь проанализировать два разных типа файлов с помощью модуля Python CSV. Чтобы узнать, какой файл я пытаюсь проанализировать, мне нужно прочитать первое письмо второй строки. В зависимости от того, что написано в этой строке, я хотел бы перейти к строке 7 или строке 4, а затем использовать csv для чтения данных. Я прочитал, что не работает смешивать readline() и next() на объекте файла. Есть ли другой способ двигаться вниз? Это мой текущий код, чтобы дать лучшее представление о том, что я пытаюсь:

with open(str(new_file)) as new_file:
    new_file.next()
    line2 = new_file.readline()
    # Check to see which file it is
    if line2[0] == "P":
        # Move to line 7
    else:
        # Move to line 4
    # Read in the contents of the file and get rid of whitespace
    list_of_dicts = list(csv.DictReader(new_file, delimiter = " ", skipinitialspace = True))

Если у кого-то есть идея, как с этим бороться, это было бы замечательно.

1 ответ

Решение
line2 = new_file.next() # now pointing at line 3
if line2[0] == "P":
    for _ in xrange(4):
        new_file.next() # skip lines 3, 4, 5, 6
else:
    new_file.next() # skip line 3 only
Другие вопросы по тегам