13 : 言語処理100本ノックでPythonのお勉強

第二章 : 13 col1.txtとcol2.txtをマージ

12で作ったcol1.txtとcol2.txtを結合し,元のファイルの1列目と2列目をタブ区切りで並べたテキストファイルを作成せよ.確認にはpasteコマンドを用いよ.

コードはこんな感じ。

f1 = 'col1.txt'
f2 = 'col2.txt'
f3 = 'output.txt'

with open(f1) as file1, open(f2) as file2, open(f3, 'w') as out_file:
    for f1_line, f2_line in zip(file1, file2):
        out_file.write(f1_line.rstrip() + '\t' + f2_line.rstrip() + '\n')

rstrip()関数は各行の末尾の改行コードを削除するために使っています。

Unixコマンドだと以下のようにできます。

paste col1.txt col2.txt >output.txt

Qiitaのこちらの記事を参考にしています。