L oop через строки в текстовом файле и анализ информации о совпадении Python - PullRequest
0 голосов
/ 19 марта 2020

У меня есть текстовый файл, который мне нужен, чтобы l oop проходил через каждую строку и извлекал только определенную информацию о соответствии. Текстовый файл имеет много строк, как показано ниже:

person       loan amount    1 month past due     2 month pass due
-------    ---------------  -----------------   -------------------
Tom          3000              3000                  0.00
1365                           100.00%               0.00%
...
...

Мне нужно объединить две строки, чтобы получить результаты, как показано ниже:

['1365', 'Tom']

Ниже показано, как я пытался это сделать:

with open(filepath) as f:
count=0
for line in f:
    if line.find("----") == -1 and line != '\n' and re.research("person|loan amount|pass due",line) == None:
           l=parse_line(line)
           combine=l
           combine.append(l)

Ниже приведена функция:

def parse_line(strIn):
    temp=strIn.rsplit(' ',1)
    out=[]
    out=[temp[0].strip()
return out

1 Ответ

0 голосов
/ 19 марта 2020

Вы можете пропустить 2 строки заголовка, а затем прочитать файл в 2 строки на 2, это можно сделать с помощью zip

filepath = r"file.txt"
result = []
with open(filepath) as fic:
    lines = fic.readlines()[2:]  # remove header lines
    for name_line, value_line in zip(lines[::2], lines[1::2]):
        name = name_line.split(" ")[0]
        value = value_line.split(" ")[0]
        result.append((value, name))

print(result)  # [('1365', 'Tom'), ('1246', 'Linda')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...