Skip to main content
 首页 » 编程设计

python之删除重复项的解决方案

2025年05月04日12小虾米

我的代码如下。基本上,我有一个 CSV 文件和一个文本文件“input.txt”。我正在尝试创建一个 Python 应用程序,它将从“input.txt”获取输入并在 CSV 文件中搜索匹配项,如果找到匹配项,则它应该返回 CSV 文件的第一列。

import csv 
csv_file = csv.reader(open('some_csv_file.csv', 'r'), delimiter = ",") 
header = csv_file.next() 
data = list(csv_file) 
 
input_file = open("input.txt", "r") 
lines = input_file.readlines() 
for row in lines: 
    inputs = row.strip().split(" ") 
    for input in inputs: 
        input = input.lower() 
        for row in data: 
            if any(input in terms.lower() for terms in row): 
                print row[0] 

假设我的 CSV 文件如下所示:

 book title, author  
 The Rock, Herry Putter 
 Business Economics, Herry Putter     
 Yogurt, Daniel Putter 
 Short Story, Rick Pan 

假设我的 input.txt 看起来像这样:

 Herry 
 Putter 

因此当我运行我的程序时,它会打印:

 The Rock 
 Business Economics 
 The Rock 
 Business Economics 
 Yogurt 

这是因为它首先搜索带有“Herry”的所有标题,然后再次搜索“Putter”。所以最后,我有书名的副本。我正在尝试找出一种删除它们的方法...因此,如果有人可以提供帮助,我们将不胜感激。

请您参考如下方法:

如果原始顺序无关紧要,则先将结果粘贴到一个集合中,然后在最后打印出来。但是,您的示例足够小,速度无关紧要。