Python - CSV文件中的列计数器

问题描述 投票:0回答:1

我正在审核一个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,任务类别审核成功,3/1/2018 4:52:36 PM,Microsoft-Windows-Security-Auditing,4798,用户帐户管理,“用户的本地组会员资格被列举。

主题:安全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,用户帐户管理, “枚举了用户的本地组成员身份。

主题:安全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

python python-3.x counter logfile
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.