2017-03-07 86 views
0

我使用NLTK,我記號化其中有評論我的整個文本文件,並將其存儲在一個可變文本:類型錯誤的列表

with open("reviews.txt") as f: 
    text=f.read() 

現在,我記號化的句子切分的全部文本。

import nltk 
from nltk.tokenize import sent_tokenize 

tokenized=sent_tokenize(text) 

現在整個切分數據是存儲在tokenized

句子的形式當我嘗試這個句子符號化數據存儲在一個txt文件,我得到一個類型錯誤

with open("sentences.txt","w+") as f1: 
    f1.write(tokenized) 

我在執行時遇到類型錯誤

TypeError: must be str, not list 
+0

sent_tokenize(文本)返回一個列表中未str的 – abccd

+2

「寫」 期待一個字符串,你傳遞一個列表 你可以加入內容,即:f1.write(''.join(tokenixed)) – danielfranca

回答

0

sent_tokenize返回字符串列表,而不是字符串

或在此上下文中 - 句子字符串。如果你想給他們寫一個文件,就應該更換

with open("sentences.txt","w+") as f1: 
    f1.write(tokenized) 

有了這個代碼(假設你想每行寫一個句子):

with open("sentences.txt","w+") as f1: 
    f1.write('\n'.join(tokenized)) 

替換'\n'與您理想的句子分離器(逗號','分號​​3210等)。

0

你應該能夠在交互模式下回答這個問題。

  • 打印(符號化)
  • 幫助(f1.write)