更新字典我有CSV文件是這樣的:分析CSV文件
item,#RGB
item1,#ffcc00
item1,#ffcc00
item1,#ff00cc
item2,#00ffcc
item2,#ffcc00
item2,#ffcc00
item2,#ffcc00
....
,我想讓字典d
,以項目名作爲關鍵字和RGB值和計數在列表中的元組作爲字典值,如:
d[item] = [ (#RGB, count) ]
所以對於 「物品1」 的例子,我想獲得:
d['item1'] = [ ('#ffcc00', 2), ('#ff00cc', 1) ]
我想象一下Pythonic迭代器可以在一行中做到這一點,但我現在無法理解。到目前爲止,我做了這一點:
d={}
with open('data.csv', 'rb') as f:
reader = csv.reader(f)
try:
for row in reader:
try:
if d[(row[0], row[1])]:
i +=1
except KeyError:
i = 1
d[(row[0], row[1])] = i
except csv.Error, e:
sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e))
這給了我:
d[(item, #RGB)] = count
什麼更好的辦法?或者我從一開始就錯誤地做這件事?
美。最初的結構更好。謝謝 – theta 2012-03-16 09:37:25