Ich habe unter diesen Code unter Verwendung von genauen Übereinstimmungen von Strings von einem csv zum anderen zu finden:Suche Zeile in einer CSV in einem anderen csv
with open(filename1, 'rb') as file1:
file1reader = csv.reader(file1)
for line1 in file1reader:
with open(filename2, 'rb') as file2:
file2reader = csv.reader(file2)
for linenum, line2 in enumerate(file2reader, start=1):
if str(line1) == str(line2):
print('match found')
matches.append(str(linenum))
counts.append(linenum)
if len(matches) >= MAX_COUNT:
break
if len(matches) >= MAX_COUNT:
break
Jetzt habe ich eine Datei, die Saiten hat, die teilweise Übereinstimmungen sind zu einer anderen Datei. Ich würde auch gerne eine Übereinstimmung haben, da die genauen Strings im obigen Code sind. Ich habe versucht, die ==
durch in
zu ersetzen, hatte aber kein Glück. Irgendeine Hilfe?
Beispiel:
string1 = humpty
string2 = humptydumpty
Versucht dies aber immer noch kein Glück. Das Skript scheint keine Übereinstimmung zu finden, obwohl ich sicher bin, dass Teilstrings in der ersten Liste vorhanden sind, die in der zweiten Liste in der Zeichenfolge enthalten sind. – Labrat
Ich denke, es macht dies, weil es Listenobjekte vergleicht und somit string1 = ['humpty'] und string2 = ['humptydumpty'] – Labrat
Wenn das der Fall ist, dann 'if str (string1 [0]) in str (string2 [0]) 'würde funktionieren .. vorausgesetzt, sie sind One-Item-Listen – Jon