Python 如何从文件中删除重复的数字?

Python 如何从文件中删除重复的数字?,python,Python,我需要删除多次迭代的数字。。如果我已经知道重复的数字。我应该有两个文件吗。。一个是实数,我有“data.txt”。另一个包含迭代“columns.txt”的数字。。它只是为了快速搜索重复的数字-因为文件太大,无法手动删除,所以我将重复的数字保存在一个文件中。。如何进行正确的循环以从一个文件搜索到另一个文件,以及它是否找到了该文件。。只需删除重复的内容并仅保留其中一项 我试图实现的代码如下 infile = "/home/user/Desktop/data.txt" outfi

我需要删除多次迭代的数字。。如果我已经知道重复的数字。我应该有两个文件吗。。一个是实数,我有“data.txt”。另一个包含迭代“columns.txt”的数字。。它只是为了快速搜索重复的数字-因为文件太大,无法手动删除,所以我将重复的数字保存在一个文件中。。如何进行正确的循环以从一个文件搜索到另一个文件,以及它是否找到了该文件。。只需删除重复的内容并仅保留其中一项 我试图实现的代码如下

infile = "/home/user/Desktop/data.txt"
outfile = "/home/user/Desktop/new.txt"
numbers="/home/user/Desktop/columns.txt"
with open(infile) as fin, open(outfile, "w+") as ft:
    for line in fin:
        for number in numbers:
                line = line.replace(number, "")
        ft.write(line)
但是仍然有一个问题。。循环删除了所有迭代的数字,我只需要保留其中一个。。不删除所有重复的

data.txt 

53.74270106
60.45828786
50.08396881
119.2588545
119.2588545
119.2588545
119.2588545
119.2588545
119.2588545
119.2588545
8.391147123
3.998351513
应该是这样的

53.74270106
60.45828786
50.08396881
119.2588545
8.391147123
3.998351513

如果数字只按顺序出现,我需要删除它。如果您使用的是python 3.6+,则此解决方案将适用于您。通过这种方式,您不需要有一个已经知道重复数字的列表,python将为您完成这项工作

如果未使用python 3.6+,请将
dict.fromkeys
更改为
collections.OrderedDict.fromkeys

with open('data.txt') as file:
    lines = dict.fromkeys(line.strip() for line in file)

with open('out.txt', 'w') as file:
    file.writelines('\n'.join(lines))
输出

53.74270106
60.45828786
50.08396881
119.2588545
8.391147123
3.998351513

我觉得布景更好

a_set = set()
with open ('data2.txt') as f:
    for line in f:
        a_set.add(line)
print(a_set)


请把你的回溯也贴出来。我编辑了我得到的结果。。循环删除了所有迭代的数字,我只需要保留其中一个。。不删除所有重复显示您的
infle
number
的小样本您已经编辑了帖子。。我从我的代码中删除了文件
numbers=“/home/user/Desktop/columns.txt”
中的所有119.2588545,你提到过你也有一个重复的数字列表,这并不能维持字典使用的秩序。。非常感谢你,你也可以投票决定答案
{'3.998351513', '50.08396881\n', '60.45828786\n', '119.2588545\n', '8.391147123\n', '53.74270106\n'}