2017-05-25 17 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

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