为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

开满天机 2021-07-13 13:09:56
所以我试图计算我的第一列 csv 文件中每个项目的出现次数。但结果不正确:我有这样的输出: OrderedDict([('3178040678842', 1), ('4005808283804', 1), ('3337872414527', 1), .. 而每个数字看起来像 2 或3 次在 csv 文件中。这是代码:import csvfrom collections import Counter, OrderedDict#the purpose of this small script is checking if values are double in EAN list resulteans_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)你知道我错在哪里吗?因为我确定结果是不正确的
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

在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


查看完整回答
反对 回复 2021-07-21
  • 1 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信