Сохраните вывод тегера NLTK в файл CSV - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь проанализировать текст, чтобы найти все 'NN' и 'nnp', пока код работает хорошо, но когда я сохраняю вывод в файл CSV, я не смог получить форматЯ хочу.который имеет - Слово, Метка, Анализируемый вопрос-

это код:

training_set = []

text = 'I want to analized this text'
tokenized = nltk.word_tokenize(text)
tagged = nltk.pos_tag(tokenized)
result= [(word, tag) for word, tag in tagged if tag in ('NN', 'NNP')]

for i in result:
    training_set.append(i)
    training_set.append([text])
    print(training_set)

listFile2 = open('sample.csv', 'w', newline='')
writer2 = csv.writer(listFile2,quoting=csv.QUOTE_ALL, lineterminator='\n', delimiter=',')
for item in training_set:
    writer2.writerow(item)

Результат следующий:

enter image description here

Любая идея, как мне сохранить всю информацию в одной строке.как это:

enter image description here

Я изменил код и использую два списка, а затем использую Zip для добавления обоих в файл CSV, но это, похоже, работаетвсе закрываются в "" и ()

training_set = []
question = []


        text = 'I want to analyzed this text'
        tokenized = nltk.word_tokenize(text)
        tagged = nltk.pos_tag(tokenized)
        result= [(word, tag) for word, tag in tagged if tag in ('NN', 'NNP')]
        for i in result:
            training_set.append(i)
            question.append([text])

listFile2 = open('sample.csv', 'w', newline='')
writer2 = csv.writer(listFile2,quoting=csv.QUOTE_ALL, lineterminator='\n', delimiter=',')
for item in zip(training_set, question):
    writer2.writerow(item)

Результат:

enter image description here

1 Ответ

0 голосов
/ 25 сентября 2018

Вы можете попробовать что-то вроде этого, чтобы получить ваши данные в нужном формате, прежде чем записать их в csv:

[tag + (text,) for tag in result]

ВЫХОД:

[('text', 'NN', 'I want to analyze this text')]

По сути, это даст вамсписок кортежей в нужном вам формате, который вы затем можете записать в CSV.

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