첫 번째 열이 다른 파일과 일치하는 경우 파일의 행을 가져오시겠습니까?

첫 번째 열이 다른 파일과 일치하는 경우 파일의 행을 가져오시겠습니까?

두 개의 텍스트 파일(탭으로 구분)이 있습니다. 파일 2의 첫 번째 열이나 ID가 일치하면 파일 2에서 행을 가져오고 싶습니다. 예는 다음과 같습니다:

파일 1:

115
147
222
322

파일 2:

0   AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
1   AAAAAAAAAAAAAAAAAAA
22  GACGGCA 
34  AAAAAATTTTTTTTAAAAAAAAAAAAA
25  GACGGCAAAAAAAAAAAAAAAAA 
115 AAAAAAAAAAAAAAAAGGGGGGGGGGAAAAAAA
147 GGGGGGGGTTTTTTTTTAAAAAAAA
222 GACGGGAA
322 AAAAAATTTTTTTTAAAAAAAAAAAAA

원하는 출력:

115 AAAAAAAAAAAAAAAAGGGGGGGGGGAAAAAAA
147 GGGGGGGGTTTTTTTTTAAAAAAAA
222 GACGGGAA
322 AAAAAATTTTTTTTAAAAAAAAAAAAA

답변1

Python 솔루션:

with open('file1.txt') as f1:
    ids = set(f1.read().splitlines())

with open('file2.txt') as f2, open('file3.txt', 'w') as f3:
    lines = f2.read().splitlines()
    for line in lines:
        id = line.split()[0]
        if id in ids:
            f3.write(line + '\n')

관련 정보