指定フォルダ内の複数ファイルの3行目以降を別ファイルにまとめるバッチファイル [コンピュータ]
指定フォルダ内の複数ファイルの3行目以降を別ファイルにまとめるバッチファイル
2023/12/07
ファイルの先頭に参考情報が数行入っている複数のCSVファイルを最初の3行を削除して1ファイルにまとめたい時のために。
今回の作成例では各CSVファイルの4行目からが使いたい。
入力する複数ファイルは他と混ざらないようにデータフォルダにまとめて入っている。
バッチファイル
dataフォルダ
├─ input1.csv
├─ input2.csv
└─ input3.csv
input1.csvファイル内のイメージ
1行名:データの取得日時とかデータ使用時の注意とかの説明書き(使わない)
2行名:データの取得日時とかデータ使用時の注意とかの説明書き(使わない)
3行名:データの取得日時とかデータ使用時の注意とかの説明書き(使わない)
4行目:1,2,3,4,5,6,7,8,9,0
5行名:,,3,4,5,6,7,8,,
6行名:,,3,4,5,6,7,8,,
7行目:1,2,,,,6,7,8,9,
input2.csv、input3.csv、も同様で4行目からが使いたいデータ
元のcsvファイル名を、input1.csv、input2.csv、input3.csv
処理後のcsvファイル名を、output.csv
バッチファイルでの処理内容としては
1、指定フォルダ内のファイルを読み込み
2、ファイル内の4行名以降を別ファイルに書き込む
バッチファイル
----------
@echo off
setlocal enabledelayedexpansion
type nul>output.csv
for %%f in (%~dp0\data\*) do (
echo %%~nxf
more +3 "%%f">>output.csv
)
pause
----------
参考
ファイル内の2行目からが欲しい場合は、more +1 とかにしてみる。
ファイル内の行単位で書き出しているので空データ列があってもそのまま出力される。
2023/12/07
ファイルの先頭に参考情報が数行入っている複数のCSVファイルを最初の3行を削除して1ファイルにまとめたい時のために。
今回の作成例では各CSVファイルの4行目からが使いたい。
入力する複数ファイルは他と混ざらないようにデータフォルダにまとめて入っている。
バッチファイル
dataフォルダ
├─ input1.csv
├─ input2.csv
└─ input3.csv
input1.csvファイル内のイメージ
1行名:データの取得日時とかデータ使用時の注意とかの説明書き(使わない)
2行名:データの取得日時とかデータ使用時の注意とかの説明書き(使わない)
3行名:データの取得日時とかデータ使用時の注意とかの説明書き(使わない)
4行目:1,2,3,4,5,6,7,8,9,0
5行名:,,3,4,5,6,7,8,,
6行名:,,3,4,5,6,7,8,,
7行目:1,2,,,,6,7,8,9,
input2.csv、input3.csv、も同様で4行目からが使いたいデータ
元のcsvファイル名を、input1.csv、input2.csv、input3.csv
処理後のcsvファイル名を、output.csv
バッチファイルでの処理内容としては
1、指定フォルダ内のファイルを読み込み
2、ファイル内の4行名以降を別ファイルに書き込む
バッチファイル
----------
@echo off
setlocal enabledelayedexpansion
type nul>output.csv
for %%f in (%~dp0\data\*) do (
echo %%~nxf
more +3 "%%f">>output.csv
)
pause
----------
参考
ファイル内の2行目からが欲しい場合は、more +1 とかにしてみる。
ファイル内の行単位で書き出しているので空データ列があってもそのまま出力される。
コメント 0