Я пытаюсь прочитать текстовый файл, начертить пунктуацию, сделать все в нижнем регистре, затем напечатать общее количество слов, общее количество уникальных слов (что означает «a», например, если он находится в тексте 20 раз, будет учитываться только один раз), а затем печатать наиболее часто встречающиеся слова вместе с их частотой (то есть a: 20).Подсчет количества слов и уникальных слов из файла txt- Python
Я понимаю, что есть похожие вопросы по StackOverflow, но я новичок и пытаюсь решить эту проблему, используя минимальное количество импорта, и задавался вопросом, есть ли способ закодировать это, а не импортировать что-то вроде Collections.
У меня есть код ниже, но я не понимаю, почему я не получаю ответа, который мне нужен. Этот код печатает полноту текстового файла (с каждым словом в новой строке, и все знаки препинания удалены), то печать:
e 1
n 1
N 1
o 1
Что, я полагаю, является «None» разделилась на персонажей с их частотой , Почему мой код дает мне этот ответ и что я могу сделать, чтобы изменить его?
код ниже:
file=open("C:\\Users\\Documents\\AllSonnets.txt", "r")
def strip_sonnets():
import string
new_file=file.read().split()
for words in new_file:
data=words.translate(string.punctuation)
data=data.lower()
data=data.strip(".")
data=data.strip(",")
data=data.strip("?")
data=data.strip(";")
data=data.strip("!")
data=data.replace("'","")
data=data.replace('"',"")
data=data.strip(":")
print(data)
new_file=strip_sonnets()
new_file=str(new_file)
count={}
for w in new_file:
if w in count:
count[w] += 1
else:
count[w] = 1
for word, times in count.items():
print (word, times)
еще одно интересное нижнее ноль –
Могу ли я узнать, почему downvote? –
@NizamMohamed, возможно, из-за вашего сброса кода. Вы не ответили на вопрос, вы просто скомпилировали код. –