progtips

CSVを読み込む

最終更新:

progtips

- view
メンバー限定 登録/ログイン

ソースコード

次のようなCSVを読み込む場合。
100,apple,foo
50,orange,bar
320,grape,baz
ソース:
@echo off
setlocal
for /f "tokens=1,2,3 delims=," %%i in (1.csv) do call :sub %%j,%%i,%%k
goto :EOF

:sub
	echo [name=%1, value=%2, id=%3]
	goto :EOF

実行結果

[name=apple, value=100, id=foo]
[name=orange, value=50, id=bar]
[name=grape, value=320, id=baz]

解説

  • 「call :ラベル」でサブルーチンを呼べる。サブルーチンの最後では「goto :EOF」をする。VBでのreturnに相当。
  • 「tokens=1,2,3」は1番目から3番目のトークン(データ)を使うことを意味している。順不同なため「tokens=3,1,2」としても結果は同じ。データは%iから順に入るので、%i/%j/%kが対応する。
  • 「delims=,」はデリミタがコンマであることを指定している。複雑なCSVには対応できないので注意。
記事メニュー
目安箱バナー