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 回答