给出:
SHA-1,VSDT,
0191a23ee122bdb0c69008971e365ec530bf03f5,MIME 6010-0,
02b809d4edee752d9286677ea30e8a76114aa324,Microsoft RTF 6008-0,undet
1537761898 0 1 1 1537733097 1537733098 1537733097 8224 74 215552 06a60c6018a42b1db22e3bf8620861711401c4bb.crdownload TROJ.Win32.TRX.XXPE50FFF026 c:\users\administrator\desktop\downloader\download\ TRENDX 172.20.4.179 Administrator c1f387a6f45414366755b0a1874b36ff9596d8ad AABACACCBIiAgXWACAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= TSPY_HPDYRE.SM;TSPY_GOLROTED.ACS;TROJ_GEN.R021C0FFO15;TROJ_GEN.R021C0DLO15;Ransom_HPCRYPTESLA.SM2;
任务:
我的任务是将sha1_vsdt.csv第一栏中的字符串与我的Trendx.log文件进行匹配。一旦找到匹配项,则应在日志文件中获取描述,并将其放在csv的第三列中,否则将无法检测到。
我已经做了匹配的字符串,并且得到了结果,但是我不知道如何将结果转储到csv的第三列中。我应该使用什么?我可以使用任何库吗?
示例:如果0191a23ee122bdb0c69008971e365ec530bf03f5
在日志文件中找到匹配项,请获取说明,然后将其放在第三列
SHA-1,VSDT,
0191a23ee122bdb0c69008971e365ec530bf03f5,MIME 6010-0,
结果将如下所示:
SHA-1,VSDT,DESC
0191a23ee122bdb0c69008971e365ec530bf03f5,MIME 6010-0,TROJ.Win32.TRX.XXPE50FFF026
代码:我已经可以得到结果了,但是我不知道如何将变量result
转储到csv的第三列中,请帮忙
import numpy as np
import pandas as pd
import csv
pd.set_option('display.max_rows', 1000)
logtext = "trendx.log"
#Log data into dataframe using genfromtxt
logdata = np.genfromtxt(logtext + ".txt",invalid_raise = False,dtype=str, comments=None,usecols=np.arange(16))
logframe = pd.DataFrame(logdata)
#print (logframe.head())
#Dataframe trimmed to use only SHA1, PRG and IP
df2=(logframe[[10,11]]).rename(columns={10:'SHA-1', 11: 'DESC'})
#print (df2.head())
#sha1_vsdt data into dataframe using read_csv
df1=pd.read_csv("sha1_vsdt.csv",delimiter=",",error_bad_lines=False,engine = 'python',quoting=3)
#Using merge to compare the two CSV
df = pd.merge(df1, df2, on='SHA-1', how='left').fillna('undetected')
result = (df[['DESC']])
print result
我的输出:
DESC
0 undetected
1 undetected
2 undetected
3 undetected
4 undetected
5 undetected
6 undetected
7 undetected
8 undetected
9 undetected
10 undetected
11 undetected
12 undetected
13 TROJ.Win32.TRX.XXPE50FFF026
14 TROJ.Win32.TRX.XXPE50FFF026
期望的CSV输出:
SHA-1,VSDT,DESC
0191a23ee122bdb0c69008971e365ec530bf03f5,MIME 6010-0,TROJ.Win32.TRX.XXPE50FFF026
02b809d4edee752d9286677ea30e8a76114aa324,Microsoft RTF 6008-0,undetected
答案 0 :(得分:0)
代替最后两行,代替下面两行。
df1 ['DESC'] = df ['DESC']。values
df1.to_csv(“ sha1_vsdt.csv”,index = False)