Найти значения словаря из csv.DictReader

Я пытаюсь взять файл 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.) Прямо сейчас в моем коде нет уравнения для этого, но я надеюсь, как только я получу значения каждой строки, написать строку в новый файл со словом и рассчитанным процентом. Если у кого-то есть лучший способ (или любой другой!) Сделать это, я был бы очень признателен за любой ввод.

Спасибо

6
задан Sophie Harrington 21 February 2011 в 01:05
поделиться