Я пытаюсь выполнить итерацию трех текстовых файлов и подсчитывать каждое уникальное слово в них - и создавая библиотеку этих уникальных слов для каждого файла, а затем добавляя эти библиотеки (которые я сделал в списки) вместе. Например, «file1.txt», «file2.txt» и «file3.txt» будут иметь свои собственные библиотеки.Python: Как поместить несколько файлов .txt в свои собственные библиотеки, соответственно.
def byFreq(pair):
return pair[1]
def memes():
for filename in ['file1.txt','file2.txt','file3.txt']:
txt = open(filename, 'r').read()
txt = text.lower()
for char in '!""#$%&()*+,-./:;<=>[email protected][\\]^_`{|}~\" ':
txt = text.replace(char, ' ')
words = txt.split()
for w in words:
counts[w] = counts.get(w,0) + 1
itms = list(counts.itms())
itms.sort()
itms.sort(key = byFreq, reverse=True)
for i in range(50):
word, count = items[i]
print ("{0:<15}{1:>5}".format(word, count))
Это то, что у меня есть на данный момент. Он выполняет итерацию по всем спискам правильно, но возвращает мне только список уникальных слов для каждой первой итерации.
the 14352
of 6617
and 6355
a 4644
to 4605
Поскольку «file1.txt» имеет «тем» в нем 14352 раз, он возвращает это число и отбрасывает другие экземпляры «тем» в других файлах. Он делает это и для других слов, пока не встретит другое уникальное слово в одном из других файлов, о котором не упоминалось ранее.
Что я пытаюсь сделать, это добавить все экземпляры 'the', а также все слова во всех файлах. Я застрял в этом пункте выше. Любая помощь приветствуется.
Ваш пример кода, как представляется неполной и неправильно отформатирован (отступ 'memes' функции). Например, где инициализируется 'counts'? – Matt