Мне нужна помощь в добавлении слов из текстового файла при создании нового списка в списке каждый раз, когда появляется новый документ - PullRequest
1 голос
/ 15 апреля 2019

У меня есть текстовый файл, содержащий обзоры фильмов, где каждая новая строка ('\ n') представляет новый фильм / новый документ.Однако у меня возникают проблемы при добавлении их в следующую последовательность:

Если задан пример текстового файла:

 chemistry leads outstanding another story white people learn black people humanity
 trappings green book on 
 already visionary director coogler outdone film fits larger marvel universe 
 innovative directors stretching across multiple 

Где первые две строки - первый документ, за которым следуют следующие две строкиэто второй документ.

Поэтому цель состоит в том, чтобы преобразовать эти предложения в «список в списке», как показано ниже:

  [[chemistry, leads, outstanding, another, story, white, people, learn, black, people, humanity, trappings, green, book, on]
  , [already, visionary, director, coogler, outdone, film, fits, larger, marvel, universe, innovative, directors, stretching, across, multiple]]

Проблема, с которой я столкнулся, заключается в том, что я не знаюкак читать там, где есть другой документ / строка и добавлять все их в новый список в существующем списке.Кто-нибудь может помочь?Заранее спасибо.

Я буду в режиме ожидания, чтобы ответить на дополнительные вопросы.Спасибо

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Я написал в файл со следующим кодом:

if count == 1:
    with open('moviedata1.txt', 'a') as f:
        for item in reviews:
            f.write(item)
            f.close()
else:
    if page == 1:
        with open('moviedata1.txt', 'a') as f:
            f.write('\n')
            for item in reviews:
                f.write(item)
            f.close()
    else:
        with open('moviedata1.txt', 'a') as f:
            for item in reviews:
                f.write(item)
            f.close()

Вот изображение текстового файла: view here
гдевыделенный синий - последнее слово перед началом следующего документа / строки

1 Ответ

2 голосов
/ 15 апреля 2019

Вы можете использовать zip и повторять:

s = ''' chemistry leads outstanding another story white people learn black people humanity
 trappings green book on 
 already visionary director coogler outdone film fits larger marvel universe 
 innovative directors stretching across multiple'''

lst = []
splitted = s.split('\n') 
for x, y in zip(splitted[::2], splitted[1::2]):
    lst.append(x.split() + y.split())

print(lst)

# [['chemistry', 'leads', 'outstanding', 'another', 'story', 'white', 'people', 'learn', 'black', 'people', 'humanity', 'trappings', 'green', 'book', 'on'],  
#  ['already', 'visionary', 'director', 'coogler', 'outdone', 'film', 'fits', 'larger', 'marvel', 'universe', 'innovative', 'directors', 'stretching', 'across', 'multiple']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...