以下に示すように2つのファイルがあります。
ファイル1(タブ区切り):
A1 someinfo1 someinfo2 someinfo3 A1 someinfo1 someinfo2 someinfo3 B1 someinfo1 someinfo2 someinfo3 B1 someinfo1 someinfo2 someinfo3
ファイル2(タブ区切り):
A1 newinfo1 newinfo2 newinfo3 A1 newinfo1 newinfo2 newinfo3 B1 newinfo1 newinfo2 newinfo3 B1 newinfo1 newinfo2 newinfo3
ファイル1から2行(A1とA1で始まる行)とファイル2から2行(A1とA1で始まる行)を一緒に読みたいです。より明確にするために、2つの要件があります。
1)同じファイルから2行を読み取る 2)他のファイルから同じ2行を読み取ります。
正確には、4行を一緒に読みたい(2つのファイルから2行連続(各ファイルから2行))。
オンラインで検索したところ、2行を一緒に読み取るコードを取得できましたが、1つのファイルからしか取得できませんでした。
open(File1)をfile1として使用します。 itertools.izip_longest(* [file1] * 2)のline1、line2の場合:
また、2つのファイルのそれぞれから1行を次のように読み取ることもできました。
for i、(line1、line2)in enumerate(itertools.izip(f1、f2)): line1、line2を印刷します
しかし、私は次のようにsthを実行したいと思います。
擬似コード:
file1のline1、line2、file2のline_1およびline_2の場合: line1とline2を比較する line1とline_1を比較します line2とline_1を比較します line2とline_2を比較します
私は解決策が線形時間のものになることを望んでいます。すべてのファイルの行数は同じで、最初の列(プライマリID)はファイル内の連続する行で同じであり、他のファイルは同じ順序に従います(上記の例を参照)。
ありがとう。