Дано:
sha1_vsdt.csv
SHA-1,VSDT,
0191a23ee122bdb0c69008971e365ec530bf03f5,MIME 6010-0,
02b809d4edee752d9286677ea30e8a76114aa324,Microsoft RTF 6008-0,undet
trendx.log
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,
Resul будет выглядеть так:
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