我有一个包含以下数据的data.CSV文件
column1,column2,amount,column3
NAME1,empId1,的 34.12 下,241682-27638-CIGGNT
NAME2,empId2,的 22.14 下,241682-27638-OCGGINT
NAME3,empId3,的 18.98 下,241942-37190-GGDIV
NAME4,empId4,的 8.98 下,241942-37190-GGDIV
NAME5,empId5,的 234.098 下,241942-37190-CHYOF
粗体条目是货币金额。我想将 column3 和金额条目添加到python中的字典中。但是如果第3列中的条目重复它应该添加货币金额并将其插入字典。
输出应如下所示。
{'241682-27638-CIGGNT':'34.12','241682-27638-OCGGINT':'22.14','241942-37190-GGDIV':'27.92','241942-37190-CHYOF':'234.098'}
我试过以下代码,但它只是更新(覆盖货币金额)上一个条目(而不是将其添加到之前的金额)
import csv
path = "file_path"
file=open( path +"data.CSV", "r")
reader = csv.reader(file)
counterlist = {}
for row in reader :
#print row[3]
#print row[2]
if counterlist.has_key(row[3]):
row[2]+=row[3].value
counterlist.update({row[3]:row[2]})
else:
counterlist.update({row[3]:row[2]})
print counterlist
提前致谢。
答案 0 :(得分:2)
使用defaultdict:
from collections import defaultdict
# ...
counterlist = defaultdict(float)
for row in reader:
counterlist[row[3]] += float(row[2])