计算csv中特定单词出现的Python算法

lao*_*rou 6 python csv algorithm counting

我刚开始学习python.我很好奇计算CSV文件中特定单词出现的有效方法是什么,而不是简单地使用for循环逐行和读取.

更具体地说,假设我有一个CSV文件包含两列,"名称"和"等级",有数百万条记录.

如何计算"等级"下"A"的出现?

Python代码示例将不胜感激!

rec*_*dev 11

基本示例,使用标准Python库中的csvcollections.Counter(Python 2.7+):

import csv
import collections

grades = collections.Counter()
with open('file.csv') as input_file:
    for row in csv.reader(input_file, delimiter=';'):
        grades[row[1]] += 1

print 'Number of A grades: %s' % grades['A']
print grades.most_common()
Run Code Online (Sandbox Code Playgroud)

输出(对于小数据集):

Number of A grades: 2055
[('A', 2055), ('B', 2034), ('D', 1995), ('E', 1977), ('C', 1939)]
Run Code Online (Sandbox Code Playgroud)