PEHDOM
Да какая разница, py.user.next пытаеться до вас донести другое, если данные неструктурированы, нужно определить признаки по которым вы будете искать нужную вам информацию.
И я это понял с первого же сообщения. Просто смутило разбитие на отдельные строки, когда единая строка всегда может быть разной длины и из разных составляющих. И я как раз думаю, как и по каким правилам мне все это доставать.

py.user.next
Ну всё, теперь думай, как разобрать строку. Как выше тебе писал: если можешь вручную разобрать её правильно, значит у тебя есть какой-то метод. Вот надо это всё вытащить наружу, задавая себе вопросы “как я вытянул это значение из всего текста?”, “как я определил, что всё правильно вытянул?”. Тогда ты узнаешь признаки, по которым определяешь всё. Очень часто это делается подсознательно (будто ты всегда умел это делать), поэтому надо себе задавать вопросы, чтобы вытащить наружу. Например, вот ты текст обычный читаешь глазами, а как ты понимаешь, какое слово прочитал? Ты заметил, что прочитал сначала каждую букву, определил значение этой буквы, определил, как она звучит? А ведь это не врождённое (попробуй на турецком что-нибудь прочитать или на китайском), это бессознательный навык, выработанный в начальной школе. Вот при поиске значений точно так же работают бессознательные навыки, которые надо вытащить и по ним составлять алгоритм разбора. А потом программу просто пишешь, которая фактически делает то же самое, что ты руками делал, и “думает” так же, как ты думал в тот момент, когда разбирал.
Это да, бессознательно я нахожу информацию очень быстро, вот теперь думаю как это правило передать в шаблон и исключить ошибочные данные. Обязательно отпишусь как придумаю алгоритм. Один из простых способов, который я для себя определил - это правило вхождения, для некоторых переменных, примерно так это может выглядеть:
>>>A1porch = {'Y': None, 'N': None}
>>>if 'Porch' in P1:
...... A1porch['Y'] = 'Porch'
else:
...... A1porch['N'] = 'No Porch'
>>>myfile = open(r'D:\python\a1.txt', 'w')
>>>if A1porch['N'] == None:
...... myfile.write('%s\t%s\n' % ('Exterior:', A1porch['Y']))
else:
...... myfile.write('%s\t%s\n' % ('Exterior:', A1porch['N']))
>>>>myfile.close()
В итоге имею строку в файле -
Exterior: No Porch Это я планирую для легких и хорошо известных случаев, где объекты либо присутствуют либо отсутствуют в строке.
Но тут одна проблема, к примеру в
Exterior: я хотел бы иметь общую запись из одного списка. Пока додумался только до:
>>> Exterior = []
>>> if 'Porch' in P1:
Exterior.append('Porch')
>>> if 'Deck' in P1:
Exterior.append('Deck')
>>> if 'Patio' in P1:
Exterior.append('Patio')
>>> if 'Fenc' in P1:
Exterior.append('Fence')
>>> myfile = open(r'D:\python\bpo\act.txt', 'w')
>>> myfile.write('%s\t%s\n' % ('Exterior:', Exterior[:]))
>>> myfile.close()
В итоге в файле получаю строку
Exterior: ['Deck', 'Patio', 'Fence']
Пока не знаю как убрать скобки, оставив только значения. Или для этого лучше подойдет словарь ?