【Windowsバッチファイル(.bat)】TSVファイルを読み込む方法


この記事はプロモーションを含みます。

Windows

ホーム > コマンドプロンプト・バッチファイル リファレンス

Windowsのバッチで、TSV形式のファイルを読み込む方法を解説します。

はじめに

本記事では、バッチファイルでTSVファイルを読み込む方法を説明します。
以下は、サンプルで読み込むTSVファイルです。

名前	年齢	住所
山田	11	大阪府
田中	22	東京都
山本	33	北海道

TSVファイルを読み込む方法

TSVファイルを読み込むサンプルコードです。
ポイントは6行目にあるfor文のオプション「delims」と「tokens」です。
delimsは読み込むファイルの区切り文字を指定します。
今回は、TSVを読み込むので、「タブ」を指定しています。
tokensは読み込むカラムを指定します。
読み込むTSVのカラム数は3なので、「1-3」(1から3カラムまで)を指定しています。

@echo off

set tsv=sample.tsv
set count=0

for /f "delims=	 tokens=1-3" %%i in (%tsv%) do (
	set /a count+=1
	call echo 【%%count%%行目-カラム1】%%i
	call echo 【%%count%%行目-カラム2】%%j
	call echo 【%%count%%行目-カラム3】%%k
	echo.
)

pause

サンプルの実行結果です。
このサンプルでは、ヘッダも含めて読み込んでいるため、
次項でヘッダを含めずに読み込む方法を説明します。

【1行目-カラム1】名前
【1行目-カラム2】年齢
【1行目-カラム3】住所

【2行目-カラム1】山田
【2行目-カラム2】11
【2行目-カラム3】大阪府

【3行目-カラム1】田中
【3行目-カラム2】22
【3行目-カラム3】東京都

【4行目-カラム1】山本
【4行目-カラム2】33
【4行目-カラム3】北海道

続行するには何かキーを押してください . . .

ヘッダを含めずに読み込む方法

ここでは、TSVファイルのヘッダをスキップして読み込む方法を説明します。
ポイントは6行目にあるfor文のオプション「skip」です。
skipは読み飛ばす行数を指定します。
ここでは「1」を指定しているので、1行目(ヘッダ)が無視され、2行目以降が出力されています。

@echo off

set tsv=sample.tsv
set count=0

for /f "skip=1 delims=	 tokens=1-3" %%i in (%tsv%) do (
	set /a count+=1
	call echo 【%%count%%行目-名前】%%i
	call echo 【%%count%%行目-年齢】%%j
	call echo 【%%count%%行目-住所】%%k
	echo.
)

pause

サンプルの実行結果です。ヘッダが出力されなくなりました。

【1行目-名前】山田
【1行目-年齢】11
【1行目-住所】大阪府

【2行目-名前】田中
【2行目-年齢】22
【2行目-住所】東京都

【3行目-名前】山本
【3行目-年齢】33
【3行目-住所】北海道

続行するには何かキーを押してください . . .

コメント

タイトルとURLをコピーしました