我正在逐行浏览一个大的 CSV 文件。我想要做的是计算某个列中字符串的出现次数。我遇到麻烦的地方是我希望将计数器嵌套在字典中,其中外部字典的键是另一列的值。我需要这样做,否则数据将被错误地处理,因为有重复。
想象一下我的 CSV:
outerDictKey CounterKey
apple purple
apple blue
pear purple
所以基本上我想要:
dictionary = { apple:
counter({blue: 1
purple: 1})
pear:
counter({purple: 1})
}
我不知道该怎么做。
myCounter = Counter()
myKey = 'barbara'
counterKey = 'streisand'
largeDict = defaultdict(dict)
largeDict[myKey] = {myCounter[counterKey] += 1}
直观上看,这似乎行不通,当然它会给出语法错误。
我也试过
largeDict[myKey][myCounter][counterKey]+=1
这会引发“TypeError:不可散列的类型:'Counter'”错误。
最后
>>> largeDict[myKey]=Counter()
>>> largeDict[myKey][myCounter][counterKey]+=1
仍然给出类型错误。那么如何增加嵌套在字典中的 Counter 呢?