データの列(可変長)を含むCSVファイルがあります。このファイルをdata.csvと呼びます。data.csvを読み込み、そのデータの最小値を別のファイル(min.csvなど)に出力するバッチファイルが必要です。
助言がありますか?
データの列(可変長)を含むCSVファイルがあります。このファイルをdata.csvと呼びます。data.csvを読み込み、そのデータの最小値を別のファイル(min.csvなど)に出力するバッチファイルが必要です。
助言がありますか?
アップデート:
質問に答えた後、あなたの質問の下にあるコメントのいくつかを読んだところ、「データの列を含むcsvファイルがあります」ではなく、「データの行を含むcsvファイルがあります」と言うつもりだったと結論付けました。データ行の場合、バッチ ファイルは非常に限られており、使いにくいです。概要についてはこのリンクを参照し、バッチ ファイルを使用するよりも別のソリューションを探す必要があるという結論を導き出してください。
アルゴリズムは単純ですが、問題はバッチの構文です。以下は私にとってはうまくいきます:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET minval=2147483647
FOR /F "tokens=*" %%A IN (data.csv) DO (
IF !minval! GTR %%A SET minval=%%A
REM ECHO A is %%A and minval is !minval!
)
ECHO !minval!
Un-中間結果を表示しますREM
。ECHO
入力例:
1000000
1000
10000
1
-15
100
結果、ECHO
有効:
A is 1000000 and minval is 1000000
A is 1000 and minval is 1000
A is 10000 and minval is 1000
A is 1 and minval is 1
A is -15 and minval is -15
A is 100 and minval is -15
-15
結果をファイルに書き込みたい場合は、次のように実行するだけですfindmin.bat > min.csv
(バッチファイルの名前がfindmin.bat
.