2012-01-13 8 views
-1

ネットワークデバイスにログインして特定の情報をチェックするためのスクリプトを記述して作成することに新しく追加されました。Pythonバージョン3.1.3でcsvの連続した行を比較してください

私は2つの列を持つcsvファイルを持っています、最初の列はIPアドレス、2番目は私がチェックしたいものです。同じIPアドレスが複数の連続する行で発生することがあります。次の行をチェックするスクリプトを設定するにはどうしたら同じIPがログアウトしないのですか?

私はnext()メソッドを試しましたが、前のものと同じ場合は次の行をスキップしました。

+0

は、あなたが持っているもの投稿できますか? – joaquin

答えて

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

あなたがループしていると仮定します。

+0

私はcsv.readerを使用していますので、行[x]は正しく動作しませんか?無効な構文が返されます。ありがとう。 – user1147944

+0

あなたはpython3 +を使用していますので、 'print line [1]'を 'print(line [1])'に変更してください。残りはうまくいくはずです – TyrantWave

+0

素晴らしい、まだ私の脳に浮かんでいるPython 2の残骸が残っています。 – user1147944

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() 
関連する問題