Python: TSVファイルを読み込む
Pythonでタブ(\t)区切りのTSVファイルを読み込む場合、 標準モジュールのcsvモジュールを使用します。
読み込み時のreader()メソッドのオプションとして 「delimiter="\t"」とタブを指定するのが ポイントです。 delimiterを指定することで、 カンマやタブ以外の区切り文字でも認識することができます。
次のtsvファイル「sample2.tsv」を読み込んでみます。
sample2.tsv
愛知 4 広島 5 岡山 6
import csv
file_name = "sample2.tsv"
with open(file_name, "r", encoding="utf-8", newline="") as f:
# 読み込み(リーダーを取得)
rs = csv.reader(f, delimiter="\t")
# 1行ずつループ
for r in rs:
print(r)
実行結果
['愛知', '4'] ['広島', '5'] ['岡山', '6']
コード解説
「rs = csv.reader(f, delimiter="\t")」でreaderオブジェクトを取得します。
readerオブジェクトは、
TSVファイルの各行が入っているイテラブル(繰り返し処理が可能)なオブジェクトなので、
forループで回して各行を取得します。
実行結果からわかるように、各行はリスト形式で格納されています。
- 「encoding="utf-8"」: 文字コード「UTF-8」を指定
- 「newline=""」: 改行コードの変換なしを指定
- 「delimiter="\t"」: 区切り文字にタブを指定