Python 使用计算文件中的特定字
我试图用python计算一个逗号分隔的文件中出现的单词的数量 我有一个包含如下字符串的文件:Python 使用计算文件中的特定字,python,Python,我试图用python计算一个逗号分隔的文件中出现的单词的数量 我有一个包含如下字符串的文件: path/to/app1,app1,fail,my@email.com,logfile.log path/to/app2,app2,success,my@email.com,logfile.log 我想知道文件中有多少次“失败” 我尝试了几件事,包括 for line in lines: if line.split(',') == "fail": fails += 1 您要做的是
path/to/app1,app1,fail,my@email.com,logfile.log
path/to/app2,app2,success,my@email.com,logfile.log
我想知道文件中有多少次“失败”
我尝试了几件事,包括
for line in lines:
if line.split(',') == "fail":
fails += 1
您要做的是将列表(由
str.split
)与字符串fail
进行比较,您要做的是检查这些行中是否存在fail:
for line in lines:
if "fail" in line.split(','):
fails += 1
此代码假定fail
最多只能在逗号之间出现一次
正确的方法是使用:
您还可以使用数字来计数:
import csv
from collections import Counter
counter = Counter()
with open("logfile.log") as f:
reader = csv.reader(f)
for row in reader:
counter.update(row)
print counter['fail']
不是最佳解决方案,但有效
f = open("C:/Users/Superman/Desktop/krypton.log")
data = f.read()
fail_count =0
no_spaces = data.replace(' ', '') #can use .strip() also to remove spaces
x = no_spaces.split(',')
for word in x:
if word == 'fail':
fail_count += 1
print (fail_count)
试试这个:
def specific_word_count(text, specific_word):
return len(text.split(specific_word)) - 1
输入:
specific_word_count('abcdabcdabcd','a')
输出:
3
如果这是csv格式,请使用csv模块:您可以,但如果文件中有一个字符串显示“this this just failed”(这件事刚刚失败),该怎么办?当为您创建解析器时,您不应该创建解析器。这遵循了“不要重复自己”的原则。
3