2011-12-19 3 views
0

Я хотел бы рассчитать конкретные слова в каждом файле моего корпуса .. вот мой код .. он отлично работает.Python: подсчет конкретных слов в файле corpus

num= nltk.FreqDist(
     (target,fileid) 
     for fileid in reader.fileids() 
     for w in reader.words(fileid) 
     for target in ['have']) 

, но результаты, как это .. FreqDist: '2009.txt': 141205, '20 .txt ': 43201, '2.txt': 41232, '4.txt': 40859, '5.txt': 40805, .....

Я хотел бы видеть все значения поодиночке подряд. как ..

'2009.txt' 141205

'20 .txt»43201

Я попробовал этот код дополнительно

for results in num: 
     print results 

Но это только показывает 'есть', '200 .txt '... нет номера FreqDist.

Кроме того, я попытался также nltk.ConditionalFreqDist() .. Он принимает НАВСЕГДА ..

Я не знаю, почему .. Пожалуйста, помогите мне. Я потратил почти 4-5 часов для решения этой проблемы.

Заранее спасибо.

ответ

2

Я не знаком с NLTK, но, похоже, вы идете по диктоподобному объекту.

Что относительно этого?

for file, n in num.iteritems(): 
    print file, n 
+0

WOW это работает !!!! большое спасибо! ой! – user976856

Смежные вопросы