世の中には、2種類の人間がいる。
タブ区切りテキストを使う人と、使わない人だ。
こんにちは、タブ区切りテキストを使う人、久保(kubor)です。
Pythonでタブ区切りテキストを読み込むときは、csvライブラリが便利です。
標準ライブラリなので環境依存をそれほど考えなくて良いです。
以下にBEDファイルのヘッダー以降について、「end」と「行番号」を出力する例を示しました。
5行目のdelimiter='¥t'としているのがポイントです。
ここを変えればどんな区切り文字でも対応できます。
6行目のnext(reader)で、sample.tsvのヘッダーを飛ばしています。
行番号の取得はline_num()メソッドを使います。
sample.tsv
chr start end
chr1 18900 19356
chr2 1133 35211
chr3 21234 552312
サンプルスクリプト
import csv
tsv_file = sample.tsv
with open(tsv_file, 'r') as f:
reader = csv.reader(f, delimiter='¥t')
next(reader)
for row in reader:
print reader.line_num, row[2]
2 19356
3 35211
4 552312
ファイルハンドルは、with文を使うとスッキリするので好きです。
アメリエフでは、バイオデータ解析やそのシステム・インフラ環境の開発に興味のあるエンジニア・リーダー候補を募集しています。
www.wantedly.com