Я пытаюсь создать программу Google Ngram-esque в Python (проект CS-I). У меня есть файл CSV, который выглядит следующим образом:Ввод объектов в список в словарь
aardvark, 2007, 123948
aardvark, 2008, 120423
aardvark, 2004, 96323
gorilla, 2010, 120302
gorilla, 2008, 89323
raptorjesus, 1996, 214
Первое значение представляет собой слово, второй год мы рассчитываем число вхождений в, а третье числе вхождений.
У меня есть класс CountByYear
, который принимает слово, год и частоту и возвращает объект CountByYear.
Мне нужно прочитать CSV-файл и распечатать словарь, содержащий слова в виде ключей со списками объектов CountByYear в качестве значений (без слов). Например:
{'aardvark': [CountByYear(year=2007, count=123948), CountByYear(year=2008...etc.], 'gorilla: [CountByYear(year=2010, count=120302), etc...)]
Я зациклился на том, как я на самом деле должен получать год и рассчитывать для каждого объекта. Сейчас я делаю:
for line in f:
splitLine = line.strip().split(',')
words[splitLine[0]] = countList
print(words)
который печатает {aardvark': [], 'gorilla': [], 'raptorjesus': []
, и это хорошо, потому что, по крайней мере я знаю, что я делаю словарную часть правильно. Но как заполнить эти пустые списки данными, которые я хочу?
Вы не можете просто присваивать атрибуты класса 'count' и' year' и вызывать 'CountByYear.count', или я полностью недопонимаю? – 101