我要創建一個基於CSV文件看起來像這樣一本字典創建字典:從文本文件的Python
'song, 2000, 184950'
'boom, 2009, 83729'
'boom, 2010, 284500'
'boom, 2011, 203889'
'pow, 2000, 385920'
'pow, 2001, 248930'
從這個
,我要創建一個包含字的字典鍵,然後將類對象列表作爲值。
這是我迄今爲止...
class Counter():
__slots__ = ('year', 'count')
_types = (int, int)
def readfile(file):
d = dict()
with open(file) as f:
for line in f:
element = line.split(,)
for word in element:
if word in d:
d[word].append([Count(int(element[1]), int(element[2]))])
else:
d[word] = [Count(int(element[1]), int(element[2]))]
print(d)
我得到的輸出是奇怪的,它是給我一本詞典類似地雷應該是什麼樣子,但它的使用計數(183930 )作爲關鍵字而不是名稱。如果它已經在字典中列出,我還需要它將該類添加到該值。
例如,因爲'繁榮'應該已經在字典中{'boom' : Count(year = 2009, count = 83729)}
我希望那裏有一個計數對象列表中的一個值。
預期輸出:
{'song' : [Count(year= 2000, count= 184950)], 'boom' : [Count(year=2009, count=83729),
Count(year=2010, count= 284500), Count(year=2011, count=203889)], 'pow' : ...etc..}
@Martijn你確定'''應該在csv例子中?我認爲他們對字符串有意義,但不能作爲示例csv。 – Vyktor 2014-11-24 20:10:57
@Vyktor:OP在他們的樣本中使用了這個;我會留給他們刪除它。 – 2014-11-24 20:12:59
您的代碼無效;它缺少引號(以逗號爲例),而發佈的'Counter()'類將不起作用。你可以給我們*工作代碼*? – 2014-11-24 20:14:50