У меня есть два текстовых файла. Первый файл имеет вид:
K, 6
J, 5
L, 4
Второй файл имеет вид:
K_1, 6
K_2, 5
J_1, 4
J_2, 4
J_3, 5
L_1, 4
Мне нужен вывод в виде:
K_1, 6, 6, same
K_2, 5, 6, different
J_1, 4, 5, different
J_2, 4, 5, different
J_3, 5, 5, same
L_1, 4, 4, same
где каждая строка начинается со строк из второго текстового файла (первые два значения), затем мне нужно выбрать третье значение на основе подстроки из первого текстового файла (т. е. для K_1 подстрока равна K, и мне нужно выбрать значение 6 из первого текстовый файл). Если значения в каждой строке одинаковы, то в каждой строке должно быть напечатано «одинаково», иначе выведите «разные».
Наконец, мне нужно количество строк с «одинаковыми» и количество строк с «разными» "в выходном файле.
Я пытался написать следующий код, но он не дает ожидаемого результата:
m1 = open('TextFile_1.txt')
m2 = open('TextFile_2.txt')
result = open('Output.txt','w')
lookup_from = {}
l2=[]
for line1 in m1:
z1 = line1.split(',')[0].strip()
z2 = z1.split('_')[0].strip()
z3 = line1.split(',')[1].strip()
ZX = (z2, z1, z3)
lookup_from[ZX] = 0
for line2 in m2:
z11 = line2.split(',')[0].strip()
z22 = z11.split('_')[0].strip()
z33 = line2.split(',')[1].strip()
if z22 in [x for x,_,_ in lookup_from]:
z4 = (z22, z11, z33)
z5 = z4 + tuple([x for _,_,x in lookup_from])
l2.append(z5)
for i in l2:
result.write(str(i)[1:-1]+'\n')
result.close()