来自2列tsv文件的嵌套字典,带有计数重复

时间:2017-05-25 07:26:02

标签: python dictionary nested

所以我有一个带有A列和B列的tsv文件。两者都只包含字符串。 A列和B列中的字符串可以重复。所以这是我想要实现的目标:B列中的信息将是动物,而A列中的信息将是该动物的品种或类型,然后我想计算重复次数。

{Animals: {"dog": {"Buldog": 23} {"Yorke":19} {"Wolf": 35} } {"fish": 
{"Salmon":10} {"Carp": 5} } } 

任何提示都将受到高度赞赏!

tsv文件不是英文版,所以下面我创建了一些东西(请不要笑),它保留了tsv文件的属性。

Yorkie Dog

狼狗

三文鱼

Yorkie Dog

鲤鱼鱼

鲤鱼鱼

狮子猫

虎猫

约克犬

1 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情:

occurence_dict = {"Animals":{}}
with open("path_to_your_file_tsv") as file_:
    for line in file_:
        line = line.split("\t")
        breed,animal=line[0],line[1]
        occurence_dict["Animals"].setdefault(animal,{})
        occurence_dict["Animals"][animal].setdefault(breed,0)
        occurence_dict["Animals"][animal][breed]+=1

它应该有效:)