我有一个nmap
的python脚本每月运行以检查打开的端口。这是csv文件的样子:
host hostname hostname_type protocol port name state product extrainfo reason version conf cpe
82.214.228.176 176.228.214.82.in-addr.arpa PTR tcp 21 ftp open syn-ack 3
82.214.228.176 176.228.214.82.in-addr.arpa PTR tcp 22 ssh open syn-ack 3
然后当我再次运行它并且如果新端口打开则会添加另一行:
82.214.228.178 hnsmonitor.direcpceu.com PTR tcp 443 https open syn-ack 3
那么你能帮我一个示例脚本来比较旧的old.csv
和new.csv
并打印到csv文件中添加的新行吗?
答案 0 :(得分:1)
如果您愿意使用pandas
,可以这样做:
import pandas as pd
old = pd.read_csv('old.csv', sep=';')
new = pd.read_csv('new.csv', sep=';')
final = new[~new.isin(old)].dropna()
final.to_csv('diff.csv', sep=';')
答案 1 :(得分:0)
旧csv entries = list_a
新csv entries = list_b
这些列表将具有csv中数据的唯一标识符。
列出项目
从list_b中删除list_a项目以获取新添加条目的代码:
for item in list_a:
while list_b.count(item) > 0:
list_b.remove(item)