Я использовал csv
reader, чтобы прочитать мой tsv
файл, который содержит три столбца: ложь, настроение и обзор.Я создал диктиник для чтения данных моего tsv
файла, как показано в коде ниже.Следующий.Я хотел бы использовать NLTK
count vectorizer
для подсчета частоты слов только в моем столбце "обзора".Я не уверен, как подойти, используя модуль CountVectorizer
в NLTK
вместе со словарем. Я ожидаю частоту слов каждого слова в колонке обзора в панде dataframe.
В приведенном ниже коде: Infile = Filename.tsv
Любая помощь приветствуется!
Примечание: я новичок в Python, пожалуйста, предоставьте объяснение с кодом.
Мало данных после выполнения кода "print (state)"
{'lie': 'lie', 'sentiment': 'sentiment', 'review': 'review'}
{'lie': 'f', 'sentiment': 'n', 'review': "'Mike\\'s Pizza High Point, NY Service was very slow and the quality was low. You would think they would know at least how to make good pizza, not. Stick to pre-made dishes like stuffed pasta or a salad. You should consider dining else where.'"}
{'lie': 'f', 'sentiment': 'n', 'review': "'i really like this buffet restaurant in Marshall street. they have a lot of selection of american, japanese, and chinese dishes. we also got a free drink and free refill. there are also different kinds of dessert. the staff is very friendly. it is also quite cheap compared with the other restaurant in syracuse area. i will definitely coming back here.'"}
Код пока
mylist=[]
#tsv file reader
with open(infile,'rU') as csvfile:
reader=csv.reader(csvfile,dialect='excel',delimiter='\t')
for line in reader:
if line[0].startswith('Data'):
continue
else:
sentiment={}
sentiment['lie']=line[0]
sentiment['sentiment']=line[1]
sentiment['review']=line[2]
mylist.append(sentiment)
csvfile.close()
for state in mylist:
print(state)
vect = CountVectorizer()