我是新来的,对编码/python还不熟悉
我有一个日志文件,其中包含列标题下的数据:
“操作创建日期用户ID审核数据”
我试图在AuditData中搜索一个IP地址,如果我得到一个匹配的地址,就在同一行打印UserId条目。因此,如果AuditData中存在IP地址,则只打印同一行中的用户ID
我尝试了几种不同的方法来做这个使用列表,枚举等没有成功。在阅读了一番之后,我得到了下面的代码,它几乎满足了我的需要,但还不够
我知道find命令正确地选择了IP地址,因为我已经用一个计数测试了它,并手动交叉检查了它
我不能只打印搜索结果所在行的UserId
我最初试过
print(" ".join(row) )
作为最后一行,但打印列标题的次数与CSV文件中的行数相同(40000行)
当我特别尝试打印userid时,它会打印整个userid列的内容。我有点理解它为什么这么做,但我似乎无法超越这一点
任何建议都将不胜感激
import csv
import mmap
with open('Logins_AuditLog_2019-07-29_2019-10-29.csv') as f:
s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
if s.find('103.70.136.101') != -1:
reader = csv.DictReader(f)
for row in reader:
print(row)['UserIds']
目前没有回答
相关问题 更多 >
编程相关推荐