前提・実現したいこと
以下のようなファイル(タブ区切りテキスト)があります。
int
1scaffold_1 537 1133 jg14231 0 + 2scaffold_1 1195 4118 jg14231 0 + 3scaffold_1 4229 7986 jg14231 0 + 4scaffold_1 8047 10192 jg14231 0 + 5scaffold_1 10355 12044 jg14231 0 + 6scaffold_1 20418 24388 jg14232 0 + 7scaffold_1 24653 25262 jg14232 0 + 8scaffold_1 25374 27128 jg14232 0 + 9scaffold_1 27274 31663 jg14232 0 + 10scaffold_1 31782 37803 jg14232 0 + 11(以下省略 合計94,052行)
rep
1scaffold_1 2582 2610 Simple_repeat 0 + 2scaffold_1 2725 3086 DNA/hAT-Charlie 0 + 3scaffold_1 3191 3410 Unknown 0 - 4scaffold_1 3414 4085 Unknown 0 - 5scaffold_1 4294 4454 Unknown 0 - 6scaffold_1 4465 4729 SINE/tRNA 0 + 7scaffold_1 4736 5063 Unknown 0 + 8scaffold_1 5332 5380 Low_complexity 0 + 9scaffold_1 6155 6338 Unknown 0 - 10scaffold_1 6419 6914 DNA/TcMar-Mariner 0 - 11(以下省略 合計3,965,884行)
これら2つのそれぞれのファイルの各行を総当たりで比較したいです。
すなわち、
intの1行目 vs. repの1行目
intの1行目 vs. repの2行目
intの1行目 vs. repの3行目
・・・・中略
intの94,052行目 vs. repの3,965,882行目
intの94,052行目 vs. repの3,965,883行目
intの94,052行目 vs. repの3,965,884行目
といった具合です。
発生している問題・エラーメッセージ
forを用いた多重ループで解決できると思いましたが、何故か最初のfor文がループされません。
すなわち、
intの1行目 vs. repの1行目
intの1行目 vs. repの2行目
intの1行目 vs. repの3行目
・・・・中略
intの1行目 vs. repの3,965,883行目
intの1行目 vs. repの3,965,884行目
で止まってしまいます。
該当のソースコード
python3
1with open(intron, 'r') as i, open(rep, 'r') as r: 2 reader_int = csv.reader(i, delimiter='\t') 3 reader_rep = csv.reader(r, delimiter='\t') 4 5 for line_int in reader_int: 6 for line_rep in reader_rep: 7 ### 処理内容
これを実行してwc -l
しても3,965,884しか返ってきません。
ご教授いただけますと幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/22 08:37