Это достаточно хорошо для вас? Я использовал pandas для простоты, но вы могли бы избежать этого. Я изменил порядок строк, но должен быть простой способ избежать этого в случае возникновения проблемы.
import pandas as pd
data1 = pd.read_csv('text1.txt', sep=" ", index_col=0, header=None)
data2 = pd.read_csv('text2.txt', sep=" ", index_col=0, header=None)
result = pd.concat([data1, data2], axis=1, sort=True)
result.to_csv(r'out.txt', header=None, sep=' ', mode='a')
Они отсортированы по индексу