📅  最后修改于: 2023-12-03 14:46:42.944000             🧑  作者: Mango
在进行数据处理时,文件中出现重复数据是十分常见的情况。Python提供了一种简便的方式来删除文件中的重复行。下面介绍一种基于哈希表的方法。
def remove_duplicate_lines(input_file, output_file):
hash_dict = {}
with open(output_file, 'w') as outFile:
with open(input_file, 'r') as inFile:
for line in inFile:
line_hash = hash(line.rstrip())
if line_hash not in hash_dict:
hash_dict[line_hash] = True
outFile.write(line)
remove_duplicate_lines
函数接受两个参数,input_file
为输入文件名,output_file
为输出文件名;hash_dict
;with open
语句用于打开文件,执行完文件处理后自动关闭文件;for
循环中,rstrip()
方法用于去除文本行中的换行符等空白字符;hash()
函数将文本行转换成哈希值,并将哈希值存储在line_hash
变量中;将上述代码保存到一个Python文件中,如remove_duplicate_lines.py
,然后在命令行中运行以下命令:
python remove_duplicate_lines.py input_file.txt output_file.txt
其中,input_file.txt
为输入文件名,output_file.txt
为输出文件名。运行后,重复行会被删除,新的文件会生成在同一目录下。