Я очень новичок в python, и, пройдя некоторые упражнения, я подумал, что было бы неплохо написать мою первую программу! (Возможно, слишком амбициозная цель).Как выполнить несколько функций в текстовом файле
У меня есть текстовый файл и вы хотите извлечь из него несколько фрагментов информации. Текстовый файл является выходным файлом из программного обеспечения для доставки стимулов и расположен в столбцах и строках.
Я хочу, чтобы программа записывала, сколько раз присутствует определенная строка, а затем записывать еще две части информации из окружающего текста в файле.
Например, из следующего текста:
RXXXX 9 Picture CATCH_QUAIL_600_5_3000_2590_278 1026069 7999 2 3000 3 7900 2960 other 0
RXXX 9 Picture poststim_fixation 1029236 0 1 25997 2 0 25900 other 0
RXXXX 9 Response 115 1036879 7643 1
Хочу сообщить, что было ответом на пробный номер 9 и что ответ был для картины «CATCH_QUAIL».
Я думаю, что лучший способ сделать это - программа, чтобы найти строку «Ответ», а затем извлечь информацию из двух строк выше и из одного столбца влево.
Итак, это то, что я до сих пор (я извиняюсь его жалким):
x= open('file')
y= x.read()
y.split()
l= y.splitlines()
Тогда я знаю, что нужно сделать несколько петель, которые будут перебирать файл, и если он находит " ответ ", затем перейдите к новому циклу, который будет записывать информацию, которую я хочу, к сожалению, я понятия не имею, как это сделать.
Если это вообще возможно, я действительно хочу узнать, как это сделать, поэтому, если бы вы могли дать мне несколько советов, а не полный код, было бы здорово.
Просмотрев некоторые другие вопросы здесь, я сожалею, если это намного ниже калибровки вопроса, который вы ожидаете, но я не уверен, куда еще обратиться!
Спасибо,
Бен
Как вы связываете ответ на картинке? Из вашего примера кажется, что ответ для «poststim_fixation», а не «CATCH_QUAIL ..» – Dhara
1. 'y.split()' - почему вы отбрасываете возвращаемое значение? Эта строка в настоящее время ничего не делает (кроме использования процессорного времени). Ну, splitlines() - это то, что вы действительно хотите сделать, так что убивайте эту строку. 2. Вам нужен только один цикл (найдите 'enumerate()' help и посмотрите, можете ли вы понять, почему). 3. Вы можете использовать «in» (как в «Response» в этой строке »), чтобы проверить, содержит ли строка другую строку. – kampu
@kampu большое спасибо, теперь у меня будет игра с этим. – Ben