0

データの列(可変長)を含むCSVファイルがあります。このファイルをdata.csvと呼びます。data.csvを読み込み、そのデータの最小値を別のファイル(min.csvなど)に出力するバッチファイルが必要です。

助言がありますか?

4

1 に答える 1

0

アップデート:

質問に答えた後、あなたの質問の下にあるコメントのいくつかを読んだところ、「データの列を含む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-中間結果を表示しますREMECHO

入力例:

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.

于 2013-03-06T23:17:50.093 に答える