📜  使用Python消除文件中的重复行

📅  最后修改于: 2022-05-13 01:55:08.791000             🧑  作者: Mango

使用Python消除文件中的重复行

让我们看看如何使用 Python 的文件处理功能从文件中删除多个重复的行。如果文件很小,只有几行,那么删除/消除重复行的任务可以手动完成,但是当涉及到大文件时,这就是Python来拯救你的地方。

方法 :

  1. 使用open()函数打开输入文件并传入标志-r以在读取模式下打开。
  2. 使用-w标志打开一个输出文件,我们将在其中删除所有重复行后存储文件的内容。
  3. 使用set()方法跟踪到目前为止看到的所有行,以便我们可以将其与当前读取的行进行比较。
  4. 现在,遍历输入文件的每一行并将其与目前看到的行进行比较。
  5. 如果当前行也出现在目前看到的行中,则跳过该行,否则将该行写入输出文件,并且不要忘记将当前行添加到目前看到的行中。
  6. 关闭文件。

例子:

为了这个例子,让我们创建一个文件(Lorem_input.txt),其中包含一些lipsum文本。所有重复的行都用粗体标记。

现在让我们创建一个空输出文件 (Lorem_output.txt),我们将在其中存储修改后的输入文件。

Python3
# creating the output file
outputFile = open('C:/Users/user/Desktop/Lorem_output.txt', "w")
  
# reading the input file
inputFile = open('C:/Users/user/Desktop/Lorem_input.txt', "r")
  
# holds lines already seen
lines_seen_so_far = set()
  
# iterating each line in the file
for line in inputFile:
  
    # checking if line is unique
    if line not in lines_seen_so_far:
  
        # write unique lines in output file
        outputFile.write(line)
  
        # adds unique lines to lines_seen_so_far
        lines_seen_so_far.add(line)        
  
# closing the file
inputFile.close()
outputFile.close()


运行上述Python脚本将从输入文件中删除所有重复的行,并将修改后的文件写入输出文件。运行此脚本后,输出文件(Lorem_output.txt)将如下所示