簡體   English   中英

與python結合的有序文件

[英]Ordered file combination with python

我有兩個文件file1file2 ,每個文件包含多個數字(每行一個數字)。 我需要創建第三個文件( output file ),該文件將兩個文件合並在一起而沒有任何重復編號。 將兩個文件合並到一個文件中的代碼應該是什么?

File1: 1 2 7 9 15 (1 number per line)  
File2: 1 8 12 13 14 16 (1 number per line)  
Outputfile: 1 2 7 8 9 12 13 14 15 16 (1 number per line)

假設您的輸入文件位於當前工作目錄中:

unique_elements = set()

for filename in ['file1', 'file2']:    
    with open(filename, 'r') as f:
        for l in f.readlines():
            unique_elements.add(int(l.strip()))

sorted_list = list(unique_elements)
sorted_list.sort()

with open('output_file', 'w') as f:
    for number in sorted_list:
        f.write('{}\n'.format(number))

因此,如果順序很重要,您可以將它們都讀入一個列表,然后寫一個最終的列表,類似於:

numbers = []

with open(file1, 'r') as inputfile:
    for row in inputfile.readlines():
        number = int(row)
        if number not in numbers:
            numbers.append(number) 
with open(file2, 'r') as inputfile:
    for row in inputfile.readlines():
        number = int(row)
        if number not in numbers:
            numbers.append(number)

numbers.sort()

with open(file3, 'w') as outputfile:
    for number in numbers:
        outputfile.write("%d\n" % number)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM