我有三列包含大量数据,第一列有id,第三列有值。 id中有重复但值不重复。我想从id的列中删除重复项,但想要所有值的总和。 例如 id class_code值 a = 1 b * 2 c + 3 a + 4 d = 5 b + 6 a = 7 a + 8 b * 9
想要输出
a 8
a 12
b 11
c 3
d 5
只删除具有相同class_codes和id nd的那些添加值,在此操作打印整个列表后,还删除具有标题的第一行。 我试过但它从表中删除了整个值
file="C:/Python25/ref.txt"
fh=open(file,'r')
myData=fh.read()
myText=myData.split()
line_seen=set()
for line in myText:
if line in line_seen:
line_seen.add(line)
print line[0:]
fh.close()
答案 0 :(得分:1)
d = {}
with open('your_file', 'r') as f:
for line in f.readlines():
line = line.split()
if line[0] in d:
d[line[0]] += int(line[2])
else:
d[line[0]] = int(line[2])
id
不存在,请插入字典。id
存在,请更新字典。答案 1 :(得分:0)
使用字典时非常简单。这样的事情应该有效(未经测试):
D = dict()
for line in myText:
if line[0] not in D.keys():
D[line[0]] = line[1])
else
D[line[0]] = D[line[0]] + line[1])
答案 2 :(得分:0)
from collections import defaultdict
d = defaultdict(int)
for line in open('ref.txt'):
key, value = line.split()
d[key] += int(value)
print sorted(d.items())
[('a',20),('b',17),('c',3),('d',5)]