In python3,
with open('text3.txt', 'w') as file3:
print('col1\tcol2\tcol3', file=file3)
with open('text1.txt', 'r') as f:
file1 = f.readlines()
with open('text2.txt', 'r') as f:
file2 = f.readlines()
for i in file1[1:]:
line1 = i.split()
for j in file2[1:]:
line2 = j.split()
if line1[0] == line2[0]:
row = line1[0] + '\t' + line1[1] + '\t' + line2[1]
print(row, file=file3)
Наивный способ заставить операцию работать - это перебирать оба файла вложенным образом и искать экземпляры, где col1
в первом файле равно col1
во втором файле.
Я настоятельно рекомендую вам попробовать пакет pandas
. Требуемая операция может быть легко выполнена с помощью простой внутренней функции join
, используя pandas.
Примером может быть
import pandas as pd
df1 = pd.read_csv('text1.txt', delim_whitespace=True)
df2 = pd.read_csv('text2.txt', delim_whitespace=True)
df3 = pd.merge(df1, df2, on='col1', how='inner')
df3.to_csv('text3.txt', index=False, sep=" ")