Отображение пустых списков [] [] [] [] при записи содержимого файла в файл в Python 3? - PullRequest
0 голосов
/ 18 октября 2018

Я хочу (прочитать) книгу (в текстовом файле) в том виде, в каком она есть в ее текущем виде.Формат книги в текстовом файле, например

В трудах Американского математического общества, том 9, страницы 541–544, 1958. [314] Р. Де Никола и Ф. Ваандрагер.Три логики для ветвления бисимуляции (расширенная аннотация).В 5-м ежегодном симпозиуме IEEE по логике в информатике (LICS), стр. 118–129.IEEE Computer Society Press, Springer-Verlag, 1990. [315] X. Николлин и Ж.-Л.Ричье и Дж. Сифакис и Дж. Вуарон.АТФ: алгебра для временных процессов.В рабочей конференции IFIP TC2 «Концепции и методы программирования», стр. 402–427.Северная Голландия, 1990.

Книгой может быть любая книга (файл .txt) объемом 400 или более страниц.

Я пытаюсь сделать следующее: прежде всего яразбить каждое предложение книги (текстовый файл) на список, используя sent_tokenize.После этого теперь в файле есть список предложений по отношению к входному текстовому файлу, и мне нужно записать файл (как и со списком предложений) в новый файл.

Программа выполнена успешно, но когда я открываю новый сгенерированный файл, который, как предполагается, содержит предложение списков, он печатает пробел [] [] [].Я надеюсь, что есть некоторые проблемы с кодировкой.Это вывод, похожий на

enter image description here Мне интересно выяснить эту проблему.Любая помощь приветствуется.

Код, который я пробовал, выглядит следующим образом:

import nltk, re
import string
from collections import Counter
from string import punctuation
from nltk.tokenize import TweetTokenizer, sent_tokenize, word_tokenize
from nltk.corpus import gutenberg, stopwords
from nltk.stem import WordNetLemmatizer

def remove_punctuation(from_text):
    table = str.maketrans('', '', string.punctuation)
    stripped = [w.translate(table) for w in from_text]
    return stripped

def preprocessing():
    with open("F:\\Pen Drive 8 GB\\PDF\\Code\\Books Handbooks\\Books Handbooks Text\\b1.txt", encoding="utf-8") as f:
         tokens_sentences = sent_tokenize(f.read())
         tokens = [[word.lower() for word in line.split()] for line in tokens_sentences]
         global stripped_tokens
         stripped_tokens = [remove_punctuation(i) for i in tokens]
         sw = (stopwords.words('english'))
         filter_set = [[token for token in sentence if (token.lower() not in sw and token.isalnum() and token.isalpha() and re.findall(r"[^_ .'\"-[A-Za-z]]+", token))] for sentence in stripped_tokens]
    lemma = WordNetLemmatizer()
    lem = []
    for w in filter_set:
        lem.append([wi for wi in map(lemma.lemmatize, w)])
    return lem
result = preprocessing()
with open('F:\\Pen Drive 8 GB\\PDF\\Code\\Books Handbooks\\Books Handbooks Text\\b1list.txt', "w", encoding="utf-8") as f:
    for e in result[:]:  
        f.write(str(e))
preprocessing() 
...