Python 如何在csv文件中搜索公共元素并保存整行

Python 如何在csv文件中搜索公共元素并保存整行,python,csv,Python,Csv,我对python完全陌生 我需要在包含两个csv文件(Workbook1和Workbook2)的列中搜索它们是否共享任何内容。然后我想将整行存储到一个文件中,可能是csv。下面是我被阻止的地方: stack = [] import csv with open('/Users/freemanlab/Downloads/Workbook1.csv', newline= '') as f: reader = csv.reader(f, delimiter=':', quoting=csv.QU

我对python完全陌生

我需要在包含两个csv文件(Workbook1和Workbook2)的列中搜索它们是否共享任何内容。然后我想将整行存储到一个文件中,可能是csv。下面是我被阻止的地方:

stack = []
import csv
with open('/Users/freemanlab/Downloads/Workbook1.csv', newline= '') as f:
    reader = csv.reader(f, delimiter=':', quoting=csv.QUOTE_NONE)
    for row in reader:
        stack.append(row)

list1 = stack

stack = []
import csv
with open('/Users/freemanlab/Downloads/Workbook2.csv', newline= '') as f:
    reader = csv.reader(f, delimiter=':', quoting=csv.QUOTE_NONE)
    for row in reader:
        stack.append(row)

list2 = stack

matches = [item for item in list1 if item in list2]

print(matches)
print('Number of matches is...')
print(len(matches))

with open('/Users/freemanlab/Downloads/matches.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerows(matches)
我知道,通过这种方式,它只适用于csv中只有一列的第一列,但我希望它适用于更复杂的文件,例如,在具有更多列的文件的第二列

最后,我想在第三个文件(Workbook3)中搜索是否也找到了公共内容,当它找到它时,将整行存储到csv中


非常感谢您的帮助。

您的意思是说
Workbook1
的任何列中的值都与
Workbook2
中的任何列匹配,还是仅当第1列与第1列匹配,或第2列与第2列匹配等?快速问题:您的工作簿有多大?您的代码会在工作簿1中找到与工作簿2中的行匹配的行,所谓匹配,我指的是每行中每一列的内容,所以当你说“它只适用于csv中只有一列的第一列”时,会让人感到困惑。请澄清。看起来你有一个好的开始。你充分理解你想要做的事情,并将其表达出来,你可以看到你的解决方案是缺乏的。尝试编写符合您要求的解决方案,并在遇到问题时提出新问题。您的意思是说
Workbook1
的任何列中的值都与
Workbook2
中的任何列匹配,还是仅当第1列与第1列匹配时,或者第2列与第2列匹配?快速提问:您的工作簿有多大?您的代码会在工作簿1中找到与工作簿2中的一行匹配的行,我所说的匹配是指每行中每一列的内容-因此,当您说“它仅适用于csv的第一列,并且只有一列”时,会让人感到困惑。请澄清。看起来你有一个好的开始。你充分理解你想要做的事情,并将其表达出来,你可以看到你的解决方案是缺乏的。试着写一个符合你需求的解决方案,当你遇到麻烦时问一个新问题。