比较python版本3.1.3中csv中的连续行
熟悉编写脚本和编写脚本以登录网络设备并检查某些信息 我有一个csv文件,有两列,第一列是ip地址,第二列是我要检查的内容。有时,相同的ip地址出现在多个连续的行中。如何设置脚本以检查下一行,以及它的相同ip是否不注销 我尝试了next()方法,但如果下一行与上一行相同,则跳过了下一行比较python版本3.1.3中csv中的连续行,python,csv,rows,Python,Csv,Rows,熟悉编写脚本和编写脚本以登录网络设备并检查某些信息 我有一个csv文件,有两列,第一列是ip地址,第二列是我要检查的内容。有时,相同的ip地址出现在多个连续的行中。如何设置脚本以检查下一行,以及它的相同ip是否不注销 我尝试了next()方法,但如果下一行与上一行相同,则跳过了下一行 prevIP = '' for line in data: if line[0] == prevIP: continue prevIP = line[0] print lin
prevIP = ''
for line in data:
if line[0] == prevIP:
continue
prevIP = line[0]
print line[1]
假设您在一个循环中。另一个一般想法(来自python 2)
IPS=[('a',1),('a',2),('b',1),('c',1),('c',2),('c',3)]
def登录(ip):
打印“登录到ip…”,ip
def注销():
打印“注销”
以前的ip=IPS[0][0]
登录(IPS[0][0])
对于ip,ip中的num:
如果ip为以前的ip _ip:
注销()
登录(ip)
打印“***正在检查…”,ip,num
以前的ip=ip
注销()
我使用的是csv.reader,所以第[x]行不能正常工作?它给出了无效的语法。谢谢。你正在使用python3+,所以将打印行[1]
更改为打印(行[1])
其余的应该很好用,我的脑子里仍然有Python2的残余。你能把你的东西贴出来吗?
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()