猿问

无法获得计数器跟踪双值python

所以我试图计算我的第一列 csv 文件中每个项目的出现次数。但结果不正确:我有这样的输出: OrderedDict([('3178040678842', 1), ('4005808283804', 1), ('3337872414527', 1), .. 而每个数字看起来像 2 或3 次在 csv 文件中。


这是代码:


import csv

from collections import Counter, OrderedDict


#the purpose of this small script is checking if values are double in EAN 

list result


eans_to_count = set()

with open("example.csv", "r") as new_data:

reader = csv.reader(new_data, delimiter=',', quotechar='"')

for row in reader:

    if row:

        ean = row[0]

        eans_to_count.add(ean)


x = Counter(eans_to_count)

y = OrderedDict(x.most_common())

print(y)

你知道我错在哪里吗?因为我确定结果是不正确的


开满天机
浏览 152回答 1
1回答

白板的微信

在set你指望他们之前丢弃重复值。使用 a 的正常方法Counter是直接添加到它:eans_to_count = Counter()with open("example.csv", "r") as new_data:    reader = csv.reader(new_data, delimiter=',', quotechar='"')    for row in reader:        if row:            ean = row[0]            eans_to_count[ean] += 1
随时随地看视频慕课网APP

相关分类

Python
我要回答