csvファイルのマージ(bat)


背景
 RPA化案件で
  ①システムからcsvデータをDL(複数)
  ②DLしたcsvデータをマージ
  ③マージしたデータをExcel台帳に貼付け
 というような要求事項があり、②の実現方法について検討した。

方法
 バッチ(bat)によるマージの方法を今回は採用した。
 
 なお以下のコードは、マージ元がヘッダー付であり、マージ先に予めヘッダーを記入しておく必要がある。

merge.bat
@echo off

# csvファイルの数だけ繰り返し処理
for /f %%i in ('dir /b *.csv') do (

    # csvファイルの2行目以降のすべてのデータを「merge.csv」に追加
    for /f "tokens=* skip=1" %%b in (%%i) do (
        echo %%b>>.\merge\merge.csv
    )
)

以下の条件で、マージは実現できる。
 ・ローカル環境の同一フォルダ配下にバッチファイルおよびマージ元ファイルを置く
 ・バッチファイル格納先フォルダ配下にmergeフォルダを作成し、マージ先ファイルを置く