Как вы читаете текстовый файл и печатаете только определенные строки, перечисленные вместе? - PullRequest
0 голосов
/ 31 марта 2020

Задача - обработать текстовый файл, содержащий всю информацию для цитирования статьи. Я только хочу извлечь автора, название статьи и публикацию; больше ничего.

Я хочу напечатать его в таком формате:

"Имя автора", "Заголовок статьи", "Публикация" (AU, TI и IP - это аббревиатура, которая предшествует каждой строке со списком автора, заголовка и публикации соответственно)

Пока у меня есть этот код:

f = open("file.txt", "rt")
contents = f.readlines()

for line in contents:
    if "AU" in line: 
        print(line)

for line in contents:
    if "TI" in line: 
        print(line)

for line in contents:
    if "IP" in line: 
       print(line)

Этот код просто выводит весь список авторов, а затем весь список названий статей, затем весь список публикаций.

Но мне нужно его вывести: Автор, заголовок, публикация

Как настроить этот код для печати в этом формате?

1 Ответ

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

Если они обычно являются последовательными строками, вы должны сделать что-то вроде этого:

for line in contents:
    if "IP" in line:
        print(line)
    else if "TI" in line:
        print(line)
    else if "AU" in line:
        print(line)

Примечание: каждая вещь будет напечатана в отдельной строке. Возможно, вам следует рассмотреть возможность сортировки всего в словарь, который выглядит примерно так: dict = { "authors": [], "titles": [], "publications": [] }, а затем распечатать их в следующем порядке:

for i in len(dict['authors']):
    print(dict['authors'][i] + ", " + dict['titles'][i] + ", " dict['publications'][i])

Это все с учетом того, что ваши данные отсортированы последовательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...