Python 比较和提取两个相似文件中的数据

Python 比较和提取两个相似文件中的数据,python,python-3.x,Python,Python 3.x,我有以下问题:在文件A和B中,我有一个姓名和出生日期的列表,格式是Joe Bloggs 01/01/1901 文件A包含所有正确的出生日期。我一直在尝试用Python编写代码,可以在文件B中运行,比较姓名和出生日期,如果发现重复项,就删除它,留下所有不正确的条目 这段代码创建了一个包含所有不正确的名称和DOB的文件,我可以使用这些名称和DOB,但我希望使用正确的DOB执行完全相同的操作。有什么想法吗 def build_set(filename): found = set()

我有以下问题:在文件A和B中,我有一个姓名和出生日期的列表,格式是Joe Bloggs 01/01/1901

文件A包含所有正确的出生日期。我一直在尝试用Python编写代码,可以在文件B中运行,比较姓名和出生日期,如果发现重复项,就删除它,留下所有不正确的条目

这段代码创建了一个包含所有不正确的名称和DOB的文件,我可以使用这些名称和DOB,但我希望使用正确的DOB执行完全相同的操作。有什么想法吗

def build_set(filename):
    found = set()    

    with open(filename) as f:
        for line in f:
            found.add(tuple(sorted(line.split()[:3])))

    return found

set_more = build_set('Incorrect.txt')
set_del = build_set('Correct.txt')

with open('results.txt', 'w') as out_file:
    for res in (set_more - set_del):  
        out_file.write(" ".join(res) + "\n")

如果您希望新的fie只包含正确的DOB,为什么不再次使用设定差

with open('results.txt', 'w') as out_file:
    for res in (set_del - (set_more - set_del)):  
        out_file.write(" ".join(res) + "\n")

还是您正在寻找的其他东西?

我尽可能地修复了您发布的代码;请验证它仍然是您实际编写的。难道不是所有的DOB都正确吗?如果您只想修复文件,而不需要使用Python,您可能会发现它很有用。