Я застрял в определенном вопросе, я надеюсь, вы, ребята, могли бы предложить лучший метод.Прочитайте файл и получите определенное значение из каждой строки файла
Для каждой строки файла, которую я читаю, я хочу получить n-ое слово в строке, сохранить это и напечатать на одной строке.
У меня есть следующий код:
import os
p = './output.txt'
word_line = ' '
myfile = open(p, 'r')
for words in myfile.readlines()[1:]: # I remove the first line because I don't want it
current_word = words.strip().split(' ')[4]
word_line += current_word
print word_line
myfile.close()
файл он читает, выглядит следующим образом:
1 abc-abc.abc (1235456) [AS100] bla 123 etc
2 abc-abc.abc (1235456) [AS10] bla 123 etc
3 abc-abc.abc (1235456) [AS1] bla 123 etc
4 abc-abc.abc (1235456) [AS56] bla 123 etc
5 abc-abc.abc (1235456) [AS8] bla 123 etc
6 abc-abc.abc (1235456) [AS200] bla 123 etc
etc
Мой текущий код выводит следующее:
[AS100][AS10][AS1][AS56][AS8][AS200]
Только проблема, он не всегда фиксируется как 4-е значение строки, так как иногда он отображается как 5-й и т. д. или вообще отсутствует.
Я в настоящее время опробовать:
if re.match("[AS", words):
f_word = re.match(".*[(.*)",words)
Это не работает, я пытаюсь увидеть, если в текущей строке он находит открытое «[» Если это делает, чтобы отобразить содержимое . его до закрытия «] Переходит к новой линии и продолжать делать это
в конечном счете имеет следующий желаемый результат:..
AS100 AS10 AS1 AS56 AS8 AS200
я мог бы реально использовать некоторые рекомендации по этому вопросу спасибо
EDIT:
m = re.search(r'\[AS(.*?)]', words)
if m:
f_word += ' ' + m.group(1)
Благодаря
В питоне, извините – Chino