Например, у меня есть 2 файла с разделителями табуляции:
файл1:
12 23 43 34
433 435 76 76
файл2:
123 324 53 65
12 457 54 32
Я хотел бы перебрать эти 2 файла, сравнивая каждую строку файла 1 с файлом 2 и наоборот. Если, например, 1-й номер 1-й строки в файле 1 совпадает с 1-м номером 2-й строки в файле 2: я хотел бы поместить из 1-й строки в файле 1 в файл с именем output. затем я хотел бы поместить все строки из файла 1, которые не нашли совпадения в файле 2, в новый файл и все строки из файла 2, которые не нашли совпадения в файле 1, в новый файл.
до сих пор мне удавалось найти совпадающие строки и поместить их в файл, но у меня возникли проблемы с помещением несовпадающих строк в два отдельных файла.
one=open(file1, 'r').readlines()
two=open(file2, 'r').readlines()
output=open('output.txt', 'w')
count=0
list1=[] #list for lines in file1 that didn't find a match
list2=[] #list for lines in file2 that didn't find a match
for i in one:
for j in two:
columns1=i.strip().split('\t')
num1=int(columns1[0])
columns2=j.strip().split('\t')
num2=int(columns2[0])
if num1==num2:
count+=1
output.write(i+j)
else:
list1.append(i)
list2.append(j)
У меня проблема с другой частью. Может ли кто-нибудь показать мне правильный и лучший способ сделать это, я был бы очень признателен.
РЕДАКТИРОВАТЬ: Спасибо за быстрые ответы всем. 3 выхода, которые я бы искал, это:
Output_file1: #Сопоставление результатов между двумя файлами
12 23 43 34 #строка из файла1
12 457 54 32 #строка из файла2
Output_file2: #строки из первого файла, которые не нашли соответствия
433 435 76 76
Output_file3: #строки из второго файла, которые не нашли соответствия
123 324 53 65