添加字典中的数字字符串对象

时间:2016-11-02 06:31:15

标签: python dictionary

for line in open('transactions.dat','r'):
item=line.rstrip('\n')
item=item.split(',')
custid=item[2]
amt=item[4]
if custid in cust1:
    a=cust1[custid]
    b=amt
    c=(a)+(b)
    print(cust1[custid]+" : "+a+" :"+b+":"+c)
    break
else:
    cust1[custid]=amt
Output:       
85.91 : 85.91 :85.91:85.9185.91

以上是我想要的代码

  • 当我从文件中读取时,我想要添加相同的客户数量 标识。

  • 其次不应该重复我的客户ID 字典。

    因此我尝试添加c的客户金额,但它会为我添加字符串而不是添加两者。您可以在输出的最后一部分看到c的值。那么如何添加值。

示例交易数据:

109400182,2016-09-10,119257029,1094,40.29

109400183,2016-09-10,119257029,1094,9.99

377700146,2016-09-10,119257029,3777,49.37

276900142,2016-09-10,135127654,2769,23.31

276900143,2016-09-10,135127654,2769,25.58

2 个答案:

答案 0 :(得分:0)

您从文件中读取字符串而不是浮点数。使用此amt=float(item[4])将表示数字的字符串转换为浮点数,然后将print(str(cust1[custid])+" : "+str(a)+" :"+str(b)+":"+str(c))打印出来。

答案 1 :(得分:0)

你的代码可能需要大量的重构,但简而言之,如果我理解你想做什么,你可以做到

c = float(a) + float(b)

这应该有用。