Board logo

标题: [文本处理] [已解决]求教批处理把CSV文件某两列的数据互换 [打印本页]

作者: teacoffee    时间: 2024-10-14 20:22     标题: [已解决]求教批处理把CSV文件某两列的数据互换

本帖最后由 teacoffee 于 2024-10-17 18:34 编辑

RTK采集的坐标文件。一共5列数据,第3、4、5列分别为XYZ的值。要输入CAD软件,XY的值要互换。也就是第3和第4列的数据要互换。请教批处理怎样写?

CSV文件数据格式如下:
下沉路段1,,510537.865,2589357.349,10.267
下沉路段2,,510532.656,2589359.127,10.284
下沉路段3,,510529.83,2589355.441,10.347
下沉路段4,,510528.522,2589350.031,10.161
下沉路段5,,510526.874,2589343.689,10.215
下沉路段6,,510525.213,2589336.726,10.6
下沉路段7,,510525.578,2589333.107,10.31
下沉路段8,,510527.091,2589332.721,10.318
下沉路段9,,510529.145,2589339.269,10.3
下沉路段10,,510530.53,2589342.907,10.287
下沉路段11,,510531.853,2589346.589,10.26
下沉路段12,,510533.177,2589349.865,10.219
下沉路段13,,510534.178,2589351.333,10.228
下沉路段14,,510535.059,2589350.991,10.285
下沉路段15,,510536.375,2589353.859,10.243
作者: hlzj88    时间: 2024-10-14 21:15

  1. for /f "tokens=1-6 delims=," %%a in (1.csv) do echo %%a,,%%c,%%b,%%d>>2.txt
复制代码

作者: hfxiang    时间: 2024-10-17 10:54

回复 1# teacoffee

这类问题,俺比较习惯用第3方工具sed( http://bcn.bathome.net/tool/4.9/sed.exe )来实现,方法如下:
  1. sed -r "s/^(.*),(.*),(.*),(.*),(.*)$/\1,\2,\4,\3,\5/" 1.csv>2.csv
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2