Я пытаюсь сравнить столбцы в двух файлах, чтобы увидеть, совпадают ли значения, и если есть совпадение, я хочу объединить/объединить данные для этой строки вместе. Моя проблема в том, что при чтении строки за строкой из двух файлов по отдельности я не могу заставить python перебирать файлы вместе и искать совпадение. Вместо этого он будет правильно перебирать один файл и повторять одну и ту же строку во втором файле несколько раз...
У меня была эта проблема в прошлом, и я до сих пор не нашел способа ее обойти. Я знаю, что отступы - это одна из проблем, так как я возился с циклом, используя «для строки в a, для строки в b», поэтому я думал, что то, что я пробовал ниже, сработает, но это не так. Я искал решения, но, похоже, никто не использует тот же метод, поэтому я задаюсь вопросом, полностью ли я не в курсе, как это сделать? Может ли кто-нибудь объяснить, как лучше это сделать, и будет ли мой метод работать вообще, а если нет, то почему? Спасибо, это очень ценно!
Это форматы моих двух файлов, в основном я хочу сравнить имена файлов столбцов в обоих файлах, и если они совпадают, я хочу объединить строки вместе.
file1:
cluster_id hypothesis_id filename M1_name_offset Orientation
1 71133076 unique_name_1.png esc_sox2_Sox1_80_4 forward
1 50099120 unique_name_4.png hb_cebpb_ETS1_139_7 forward
1 91895576 unique_name_11.png he_tal1_at_AC_acptr_258_11 forward
file2:
Name Cluster_No Pattern filename
esc_sox2_Sox1_80 Cluster1 AP1(1N)ETS unique_name_4.png
hb_cebpb_ETS1_139 Cluster1 CREB(1N)ETS unique_name_11.png
he_tal1_at_AC_acptr_258 Cluster2 ETS(-1N)ZIC unique_name_3.png
Что я пробовал:
for aline in file1:
motif1 = aline.split()[2]
for bline in file2:
motif2 = bline.split()[-1]
if motif1 = motif2:
print "match", aline, bline
Я также пробовал:
for aline in file1:
motif1 = aline.split()[2]
for bline in file2:
motif2 = bline.split()[-1]
if motif1 = motif2:
print "match", aline, bline
Я также пытался использовать форматирование строк, но это не имело значения. Первый способ неправильно перебирает файл2, а второй способ не дает мне никакого вывода. Я много играл с этим и пробовал различные углубления и дополнительные биты, но я в тупике, как даже попытаться это исправить! Помогите пожалуйста мне :(