【问题标题】:Printing out a counter of a csv file [closed]打印出 csv 文件的计数器 [关闭]
【发布时间】:2020-02-22 18:04:49
【问题描述】:

请告知为什么没有达到预期的输出。

with open('data2.csv','r') as data:
  reader = csv.DictReader(data)
  for line in reader:
    x = Counter(line['Programminglanguages'].split(','))

print(x)

输出:

Counter({'C++': 1})

预期输出:

Counter({'Java': 2, 'C++': 2, 'Python': 1})

文件data2的内容:

【问题讨论】:

  • 能否提供一个小sn-p进行测试?
  • 不知道该怎么做。可以指导一下吗?
  • 比如line的输出是xCounter({'C++': 1})的那一行line的内容是什么?
  • 您在循环内创建了新的x - 只有最后一个存在。 - 在循环外创建x - 在循环内添加到它 - 不要一直重新创建它
  • 不,不是数据截图,是实际数据。

标签: python python-3.x csv counter


【解决方案1】:

你应该使用这样的代码。

import csv
from collections import Counter


with open('data2.csv') as data:
    reader = csv.DictReader(data, delimiter=';')
    programming_languages = []
    for line in reader:
        programming_languages.extend(line['Programminglanguages'].split(','))
    print(Counter(programming_languages))

【讨论】:

    猜你喜欢
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多