Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较python版本3.1.3中csv中的连续行_Python_Csv_Rows - Fatal编程技术网

比较python版本3.1.3中csv中的连续行

比较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

熟悉编写脚本和编写脚本以登录网络设备并检查某些信息

我有一个csv文件,有两列,第一列是ip地址,第二列是我要检查的内容。有时,相同的ip地址出现在多个连续的行中。如何设置脚本以检查下一行,以及它的相同ip是否不注销

我尝试了next()方法,但如果下一行与上一行相同,则跳过了下一行

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()