在另一个csv中的一个csv中查找行

时间:2016-07-06 16:22:05

标签: python string csv match

我一直在使用下面的代码来查找从一个csv到另一个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

2 个答案:

答案 0 :(得分:1)

尝试检查两个方向:

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

我不认为括号是绝对必要的,但它们使含义更清晰。

答案 1 :(得分:0)

您正在尝试check if a substring is present in a string

为此,您可以使用in运算符:

示例:

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

在你的情况下:

if string1 in string2: 
    print "Ok"