Я пытаюсь взять файл csv и превратить его в словарь с помощью csv.DictReader. После этого я хочу изменить один из столбцов словаря, а затем записать данные в файл tsv. Я имею дело со словами и частотами слов в тексте.
Я пытался использовать функцию dict.value () для получения значений словаря, но получаю сообщение об ошибке «AttributeError: экземпляр DictReader не имеет атрибута» ценности""
Ниже мой код:
#calculate frequencies of each word in Jane Austen's "Pride and Prejudice"
import csv
#open file with words and counts for the book, and turn into dictionary
fob = open("P&P.csv", "r")
words = csv.DictReader(fob)
dict = words
#open a file to write the words and frequencies to
fob = open("AustenWords.tsv", "w")
#set total word count
wordcount = 120697
for row in words:
values = dict.values()
print values
По сути, у меня есть общее количество каждого слова в тексте (например, «a», «1937»), и я хочу найти процент от общего количества слов, в котором слово в вопрос использует (таким образом, для "a" процент будет 1937/120697.) Прямо сейчас в моем коде нет уравнения для этого, но я надеюсь, как только я получу значения каждой строки, написать строку в новый файл со словом и рассчитанным процентом. Если у кого-то есть лучший способ (или любой другой!) Сделать это, я был бы очень признателен за любой ввод.
Спасибо