0

巨大なデータを含む 3 つの列があり、列 1 には ID があり、列 3 には値があります。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を持つものだけを削除し、そこに値を追加します。この操作の後、リスト全体を出力し、ヘッダーを持つ最初の行も削除します。私は試しましたが、テーブルから値全体を削除しました

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()
4

3 に答える 3

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)]

于 2013-11-11T12:43:50.327 に答える