2017-06-07 5 views
-1

Ich habe Excel-Blatt in dem ich 2 Spalten habe.python vergleichen string in mukltiple reihen

1. Spalte hat Zeichenfolge. Diese Zeichenfolge muss mit der gleichen Zeile der zweiten Spalte verglichen werden.Wenn es Übereinstimmungen müssen in der dritten Spalte der gleichen Zeile "übereinstimmen" schreiben.

Wenn es nicht passt, muss ich über alle Zeilen in Excel bis zum Ende iterieren. Wenn es zwischendurch "MATCH" schreiben muss, muss ich "Not Match" schreiben

Ich benutze openpyxl, um dies zu tun.

+0

Zeigen Sie Ihren Code, den Sie bisher haben. – stovfl

Antwort

0

Sie müssten die Spalten mit einer if-Anweisung vergleichen und dann die Ausgabe ('match'/'No match') in die dritte Spalte schreiben. Dies könnte mit dem folgenden Beispielcode erfolgen:

for index1, cell_col1 in enumerate(ws.columns[0]): # iterates through column 1 with indexing 
     for index2, cell_col2 in enumerate(ws.columns[1]): # iterates through column 2 with indexing 
      if cell_col1.value == cell_col2.value: # if the values match 
       ws.cell(row=index1 + 1, column=3).value = 'Match' 
       break 
      elif index2 == ws.max_row - 1: # if the second loop is at the end of the table (so no match) 
       ws.cell(row=index1 + 1, column=3).value = 'No match' 
+0

Thanks Frame für die Antwort.Wenn es nicht stimmt, muss ich durch die nächsten Zeilen bis zum Ende aller Zeilen durchlaufen.Wenn es nicht bis zum Ende gefunden wird, dann muss ich nur 'no match'schreiben. Ich kämpfe hier Es wäre hilfreich, wenn Sie irgendeine Methode vorschlagen, um dies zu tun. Ich meine zu sagen, ich muss den Fall sonst in oben verbessern. Da ich neu bei Python bin. Ich bekomme keine Logik, dies zu tun – user3636467

+0

Dann müssten Sie erzeuge irgendeine Art von Array. Bitte erklären Sie noch einmal, im Detail, was das Skript genau tun sollte – Frame

+0

Ich habe txt-Datei, aus der ich Daten extrahieren und Exportieren mit der Funktion enumerate.Here es macht 2 Spalten in Excel .Ich bin in der Lage, dies erfolgreich zu tun. Der nächste Schritt ist, ich muss die col1 Daten mit col2 vergleichen. In col1 für jede Zeile gibt es eine Zeichenfolge, die ich überprüfen muss Wetter, dass String in der aktuellen Zeile von col2 oder nicht vorhanden ist. Wenn es nicht col2 dann brauche ich um die nächsten Zeilen bis zum Ende aller Zeilen zu durchlaufen. Nachdem ich eine Zeile in Spalte1 verglichen habe, muss ich sie für die nächsten nächsten Zeilen in Spalte1 machen. So muss ich das für alle Zeilen von Spalte1 Vergleich mit Spalten2 – user3636467