0
#!/usr/bin/python
import sys
from collections import defaultdict
from collections import Counter
new_dic_defaultdict = defaultdict(dict)
#new_dic_defaultdict = defaultdict(int)
file="SMSCDR_POSTPAID_1509_10.84.0.29_AS.log"
fp=open(file,"r")
str = fp.readlines();
for line in str:
array = line.split('|')
system_id = array[55]
Origin = array[12]
TIME = array[0]
message_id = array[62]
new_dic_defaultdict[Origin][system_id] = new_dic_defaultdict[Origin].setdefault(system_id, 0) + 1;
print new_dic_defaultdict
ここでは2次元のディレクトリを書くことができます。私は3次元を追加する場合、それは動作しません。多次元辞書in Python
Ex: new_dic_defaultdict[Origin][system_id][message_id] = new_dic_defaultdict[Origin][system_id].setdefault(message_id, 0) + 1;
これは
new_dic_defaultdict [起源] [SYSTEM_ID] [MESSAGE_ID] [LFR] = new_dic_defaultdict [起源] [SYSTEM_ID] [ message_id] .setdefault(lfr、0)+ 1; 私はその3次元のために働いている場合。しかし、4次元のために働いていない。 –
さらに多くのディメンションが必要な場合は、new_dic_defaultdict = defaultdict(lambda:defaultdict(lambda:defaultdict(int)))と同様の方法で追加できます。しかし、それは全く読めないので、https://github.com/mewwts/addictのようなものを使うことをお勧めします –