Python - CSV文件中的列计数器

时间:2018-03-02 22:55:00

标签: python python-3.x counter logfile

我正在审核一个SecurityLog CSV文件,我必须计算“审核成功”和“审核失败”的最常见事件ID号。我可以找到整个文件中最常出现的事件ID,但不是每个一。我的剧本不是最有效或最完美的,但我找不到任何办法。

import csv
from collections import Counter
with open('SecLog.csv') as csvfile:    #Open Security Log
    readCSV = csv.reader(csvfile, delimiter=',')


    data = list(readCSV) #to get number of entries in entire log
    row_count=len(data)-1

    data = open('SecLog.csv').read()
    SucCount = data.count('Success') #counts the occurences of "Successes"
    FailCount = data.count('Failure') #counts the occurences of "failures"

    print "Number of Audit Failures:", FailCount, "Failures of", row_count, "entries"
    print "Number of Audit Successes:", SucCount,"Successes of", row_count, "entries"

安全日志: 关键字,日期和时间,来源,事件ID,任务类别 Audit Success,3/1/2018 4:52:36 PM,Microsoft-Windows-Security-Auditing,4798,User Account Management,“枚举了用户的本地组成员资格。

主题:     安全ID:DESKTOP-1PQOUT8 \ Mack Naylor     帐户名称:Mack Naylor     帐户域名:DESKTOP-1PQOUT8     登录ID:0x26723

用户:     安全ID:DESKTOP-1PQOUT8 \ Mack Naylor     帐户名称:Mack Naylor     帐户域名:DESKTOP-1PQOUT8

流程信息:     进程ID:0x1e14     进程名称:C:\ Windows \ System32 \ mmc.exe“ Audit Success,3/1/2018 4:52:10 PM,Microsoft-Windows-Security-Auditing,4798,User Account Management,“枚举了用户的本地组成员资格。

主题:     安全ID:DESKTOP-1PQOUT8 \ Mack Naylor     帐户名称:Mack Naylor     帐户域名:DESKTOP-1PQOUT8     登录ID:0x26723

用户:     安全ID:DESKTOP-1PQOUT8 \ Mack Naylor     帐户名称:Mack Naylor     帐户域名:DESKTOP-1PQOUT8

流程信息:     进程ID:0x1e14     进程名称:C:\ Windows \ System32 \ mmc.exe“ Audit Success,3/1/2018 4:51:41 PM,Microsoft-Windows-Security-Auditing,4672,Special Logon,“分配给新登录的特权。

主题:     安全ID:SYSTEM     帐户名称:SYSTEM     帐户域名:NT AUTHORITY     登录ID:0x3E7

特权:SeAssignPrimaryTokenPrivilege             SeTcbPrivilege             SeSecurityPrivilege权限

1 个答案:

答案 0 :(得分:0)

如果您知道如何查找整个文件的最常见事件ID,为什么不按成功/失败对CSV进行排序,然后拆分为两个数据集。然后,您可以分别通过相同的上述方法为每个数据集找到最常见的事件ID。