Перемещаться по строкам после использования 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