2017-05-25 83 views
0

所以我有一个tsv文件的列A和B.都只包含字符串。 A栏和B栏中的字符串可以重复。所以这是我想要实现的:B列中的信息将是动物,而A列中的信息将是该动物的品种或类型,然后我想重复计数。来自2列tsv文件的嵌套字典与计数重复

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

任何提示将不胜感激!

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

约克夏犬

狼犬

三文鱼

约克夏犬

鲢鳙鱼

鲢鳙鱼

狮子猫

老虎猫

约克犬 。

+0

你能张贴您的TSV文件的样本? –

+0

@AmeyDahale会这样吗? –

回答

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 

应该作品:)

+0

作品很有魅力,非常感谢你! –