Python 计算csv文件中特定字符串的出现次数

Python 计算csv文件中特定字符串的出现次数,python,file,csv,for-loop,count,Python,File,Csv,For Loop,Count,嗨,我有一个文件,我需要数一数“美沙酮”和“Co-Codamol”这个词出现了多少次。它似乎打印“0”,而实际上在这个特定的文件中,美沙酮和一氧化碳的总发生次数是9次。以下是文件的外观: 这是我的代码: import csv import collections number = collections.Counter() with open('C:\Users\Desktop\practice jan.csv') as input_file: for row in csv.reade

嗨,我有一个文件,我需要数一数“美沙酮”和“Co-Codamol”这个词出现了多少次。它似乎打印“0”,而实际上在这个特定的文件中,美沙酮和一氧化碳的总发生次数是9次。以下是文件的外观:

这是我的代码:

import csv
import collections
number = collections.Counter()
with open('C:\Users\Desktop\practice jan.csv') as input_file:
    for row in csv.reader(input_file, delimiter=','):
        number[row[1]] += 1
print 'Number of prescriptions is %s' % number['Methadone' + 'Co-Codamol']

>> Number of opioid prescriptions is 0

读取文件并计算字符串出现的次数:

with open('Path/to/file', 'r') as content_file:
    content = content_file.read()
    print(content.count("Methadone"))

只要您的文件不太大,这就可以完成工作。

不确定您要在什么上下文中执行此操作,但如果您可以使用grep,它非常简单:


grep-o字符串文件| wc-l

假设‘美沙酮’和‘Co-Codamol’是两种不同的药物,我建议您将最后一行替换为:

print 'Number of prescriptions is %s' % (number['Methadone'] + number['Co-Codamol'])

这些文件将多达400万行x120个文件。。。我需要分别做每一件事吗此当前文件只是一个实践文件我刚刚用一个2GB文件尝试了此操作,但它崩溃得很厉害:(如何阻止这种情况发生?您可以逐行读取文件并计算每行中的发生次数。然后,您可以将其累加到所有行以获得总数。要计算多个文件中的发生次数,请首先使用例如
glob
获取文件列表,然后对每个文件进行计数。