我正在编写一个Python脚本,它接受以CSV形式导出的Nessus数据并删除重复数据,但是由于导出的方式,不同端口和协议的结果都有自己唯一的行,即使行中的所有其他数据都是相同的。我需要删除这些重复项,但我希望保留端口和协议列数据并将其附加到上一行。在
下面是我用来测试和构建脚本的一个非常小的CSV:
正如您所看到的,除了端口字段之外,所有字段都是完全相同的,有时协议字段也会不同,所以我需要读取CSV文件的两行,然后像这样附加端口:80、443和协议一样:tcp,tcp
然后只保存一行来删除重复的数据,我试着通过检查是否已经有一个插件ID的实例来执行此操作,但是我的输出只是打印第二行的端口和协议。在protocollist = []
portlist = []
pluginid_list = []
multiple = False
with open(csv_file_input, 'rb') as csvfile:
nessusreader = csv.DictReader(csvfile)
for row in nessusreader:
pluginid = row['Plugin ID']
if pluginid != '':
pluginid_list.append(row['Plugin ID'])
print(pluginid_list)
count = pluginid_list.count(pluginid)
cve = row['CVE']</