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"」: 区切り文字にタブを指定
Python