You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用批处理脚本将CSV第2列≤6位数值移至新增第3列

批处理脚本实现CSV列数据迁移需求

实现思路

  • 用批处理for /f命令逐行读取CSV文件,按逗号分隔解析每列数据
  • 判断第2列数值大小:若小于1000000(6位及以下),则将该值移至新增的第3列,原第2列留空;否则保留原第2列数值,新增第3列留空
  • 保留其余列原始内容,确保输出CSV结构完整(共9列:原8列+新增第3列)

批处理脚本代码

@echo off
setlocal enabledelayedexpansion

:: 定义输入输出文件名,可根据实际修改
set "input=input.csv"
set "output=output.csv"

:: 处理表头行,新增第3列空标题
set "header="
for /f "delims=" %%a in ('findstr /n "^" "%input%" ^| findstr "^1:"') do (
    set "line=%%a"
    set "line=!line:*:=!"
    for /f "tokens=1,2,* delims=," %%b in ("!line!") do (
        set "header=%%b,,%%c"
    )
    echo !header!>"%output%"
)

:: 处理数据行
for /f "skip=1 delims=" %%a in ('findstr /n "^" "%input%"') do (
    set "line=%%a"
    set "line=!line:*:=!"
    for /f "tokens=1,2,* delims=," %%b in ("!line!") do (
        set "rest=%%d"
        :: 数值判断分支
        if %%b lss 1000000 (
            echo ,%%b,!rest!>>"%output%"
        ) else (
            echo %%b,,!rest!>>"%output%"
        )
    )
)

echo 处理完成,结果已保存至%output%
endlocal

使用说明

  1. 将脚本保存为process_csv.bat
  2. 把需处理的CSV文件命名为input.csv,和脚本放在同一目录
  3. 双击运行脚本,处理后的结果会生成在output.csv中

示例验证

原始CSV数据(input.csv)

列1,列2,列3,列4,列5,列6,列7,列8
A,12345,val3,val4,val5,val6,val7,val8
B,1234567,val3,val4,val5,val6,val7,val8
C,999999,val3,val4,val5,val6,val7,val8

处理后目标数据(output.csv)

列1,,列3,列4,列5,列6,列7,列8
A,12345,val3,val4,val5,val6,val7,val8
B,1234567,,val3,val4,val5,val6,val7,val8
C,999999,val3,val4,val5,val6,val7,val8

注意:该脚本适用于无复杂格式的标准CSV文件,若字段包含逗号且用引号包裹,需额外修改适配逻辑。

内容的提问来源于stack exchange,提问作者Svenfabian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:45:07