2016-07-06 2 views
0
내가 한 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 

을 지금, 나는 부분적으로 일치 된 문자열을 가진 파일이 다른 파일로. 위의 코드에 정확한 문자열이 있으므로이 문자열을 일치시켜야합니다. 나는 in와 함께 ==을 바꾸려고했지만 운이 없었습니다. 어떤 도움이 필요합니까?

예 :

string1 = humpty 

string2 = humptydumpty 

답변

1

양방향으로 확인하십시오 :

if (str(line1) in str(line2)) or (str(line2) in str(line1)): 

I을 괄호는 꼭 필요하다고 생각하지 않지만 의미를 명확하게 해줍니다.

+0

시도했지만 아직 행운이 없습니다. 두 번째 목록의 문자열에있는 첫 번째 목록에있는 부분 문자열이 있다고하더라도이 스크립트는 일치하는 항목을 찾을 수 없습니다. – Labrat

+0

목록 개체를 비교하고 있으므로 string1 = [ 'humpty'] 및 string2 = [ 'humptydumpty'] – Labrat

+0

인 경우 이렇게하는 것 같아요. 그렇다면'if str (string1 [0]) in str (string2 [0])'은 작동 할 것입니다. 하나의 항목으로 가정한다면 – Jon

0

당신은 check if a substring is present in a string에 노력하고 있습니다.

은이를 위해 당신은 in 연산자를 사용할 수 있습니다

예 : 귀하의 경우

if "humpty" in "humptydumpty": 
    print "Ok" 

:

if string1 in string2: 
    print "Ok"