1

私は以下の形式のファイルを読んでいます:

0.012281001     00:1c:c4:c2:1f:fe       1    30
0.012285001     00:1c:c4:c2:1f:fe       3    40
0.012288001     00:1c:c4:c2:1f:fe       2    50
0.012292001     00:1c:c4:c2:1f:fe       4    60
0.012295001     24:1c:c4:c2:2f:ce       5    70  

列 2 エンティティをキーとして作成し、列 3 と 4 を個別の値として作成するつもりです。私が遭遇した行ごとに、その特定のキーについて、それぞれの値を合計する必要があります (値 1 と値 2 は、そのキーに対して個別に集計する必要があります)。上記の例では、次のような出力を取得する必要があります。

'00:1c:c4:c2:1f:fe': 10 : 180, '24:1c:c4:c2:2f:ce': 5 : 70  

単純な 1 キー 1 値用に作成したプログラムは次のとおりです。

#!/usr/bin/python

import collections
result = collections.defaultdict(int)
clienthash = dict()

with open("luawrite", "r") as f:
    for line in f:
            hashes = line.split()
            ckey = hashes[1]
            val1 = float(hashes[2])
            result[ckey] += val1
    print result  

これを 2 つの値に拡張するにはどうすればよいですか。また、それらを上記の出力として出力するにはどうすればよいですか。私は何のアイデアも得ていません。助けてください!ところで私はpython2.6を使用しています

4

1 に答える 1