在Python 3.1.3中比较CSV中的连续行

-1 投票
2 回答
1402 浏览
提问于 2025-04-17 10:11

我刚开始接触脚本编写,正在写一个脚本,用来登录网络设备并检查一些信息。

我有一个csv文件,里面有两列,第一列是IP地址,第二列是我想要检查的内容。有时候,同一个IP地址会出现在连续的多行中。我该怎么设置脚本,让它在检查下一行时,如果IP地址相同就不登出呢?

我试过使用next()这个方法,但它只是跳过了下一行,如果和上一行相同的话。

2 个回答

0

另一个一般性的想法(来自Python 2)...

IPS = [('a', 1), ('a', 2), ('b', 1), ('c', 1), ('c', 2), ('c', 3)]

def login(ip):
    print "Logging in to ip ...", ip

def logout():
    print "Logging out" 

previous_ip = IPS[0][0]
login(IPS[0][0])

for ip, num in IPS:
    if ip <> previous_ip:
        logout()
        login(ip)

    print "*** Now checking ...", ip, num
    previous_ip = ip

logout()
1
prevIP = ''
for line in data:
    if line[0] == prevIP:
        continue
    prevIP = line[0]
    print line[1]

假设你正在一个循环里。

撰写回答