我有一个CSV文件格式如下
Input file
我需要有一个新的文件与以下过滤条件的csv文件
1.过滤掉所有〈=0的度量值
1.如果度量值〉1,则将行复制度量值的次数,并为每个复制的记录将datetime字段的值增加1秒,并将度量值重置为1。
预期结果为output
有人能帮忙吗?
我试过这个
@echo off
setlocal enabledelayedexpansion
set input_file=input.csv
set output_file=output.csv
(for /f "usebackq tokens=*" %%a in ("%input_file%") do (
set line=%%a
set measure values=!line:*,=!
if "!measure values!" gtr "0" (
echo !line!
)
)) > "%output_file%"
我尝试了上面的脚本,但它将整个记录复制到输出文件中。
输入文件
Datetime,Measure Names,Category,Measure Values
03/14/2023 16:33:44,Sales ,Table,1
03/14/2023 16:33:44,Amt,Table,0
03/14/2023 16:33:44,Profilt,Table,1
03/14/2023 16:33:44,Qty,Table,2
CSV格式的预期输出
Datetime,Measure Names,Category,Measure Values
03/14/2023 16:33:44,Qty,Table,1
03/14/2023 16:33:45,Qty,Table,1
1条答案
按热度按时间x8goxv8g1#
我不知道一个批处理文件是最好的,但:
input.csv: