我如何批量或VBS以下CSV删除某些字符



我正在为木材加工CNC设置一些文件,并要求从CAD上放置的外部粘附到其格式。

我试图在上面做一个Excel宏,但是操作员发现使用它令人困惑。

CSV需要ABS 1仅为1,而cam,文件名才能删除_1和_2(最后2个字符(。

事先感谢它!根据附件代码CSV。

"CAM, file name",Length ,Width,Thickness,Material,Count,Edge Left,Edge Right,Edge Top,Edge Bottom,Barcode,Grain
,800.00,418.00,1650.00,,1,,,,,,
DOOR_LH_13_1,395.50,778.00,18.00,white,1,"ABS     1","ABS     1","ABS     1","ABS     1",279162,
DOOR_RH_14_1,395.50,778.00,18.00,white,1,"ABS     1","ABS     1","ABS     1","ABS     1",279164,
bottom_front_5_1,764.00,100.00,18.00,white,1,"ABS     1",,,"ABS     1",279148,
top_4_1,764.00,400.00,18.00,white,1,"ABS     1",,"ABS     1","ABS     1",279146,
left_side_1_1,1650.00,400.00,18.00,white,1,"ABS     1","ABS     1","ABS     1","ABS     1",279140,
right_side_2_1,1650.00,400.00,18.00,white,1,"ABS     1","ABS     1","ABS     1","ABS     1",279142,
Divider_8_1,374.00,352.00,18.00,white,1,,,"ABS     1",,279154,
Shelf_11_1,764.00,352.00,18.00,white,1,,,"ABS     1",,279158,
Shelf_12_1,764.00,352.00,18.00,white,1,,,"ABS     1",,279160,
Bottom_3_1,764.00,382.00,18.00,white,1,,,"ABS     1",,279144,
shelf_6_1,764.00,382.00,18.00,white,1,,,"ABS     1",,279150,
shelf_10_1,764.00,382.00,18.00,white,1,,,"ABS     1",,279156,
back_7_1,1632.00,764.00,18.00,white,1,,,,,279152,

在批处理中,您通常会使用for /f
处理CSV在逗号上分裂,但for /f将相邻的定义者视为仅一个。

所以我建议使用带有PowerShell等正则表达式的脚本语言。

(Get-Content .SO_56900009.csv) -replace '"ABS *1"','1' -replace '(?<=_d+)_d'|Set-Content '.New.csv'

> Get-Content .New.csv
"CAM, file name",Length ,Width,Thickness,Material,Count,Edge Left,Edge Right,Edge Top,Edge Bottom,Barcode,Grain
,800.00,418.00,1650.00,,1,,,,,,
DOOR_LH_13,395.50,778.00,18.00,white,1,1,1,1,1,279162,
DOOR_RH_14,395.50,778.00,18.00,white,1,1,1,1,1,279164,
bottom_front_5,764.00,100.00,18.00,white,1,1,,,1,279148,
top_4,764.00,400.00,18.00,white,1,1,,1,1,279146,
left_side_1,1650.00,400.00,18.00,white,1,1,1,1,1,279140,
right_side_2,1650.00,400.00,18.00,white,1,1,1,1,1,279142,
Divider_8,374.00,352.00,18.00,white,1,,,1,,279154,
Shelf_11,764.00,352.00,18.00,white,1,,,1,,279158,
Shelf_12,764.00,352.00,18.00,white,1,,,1,,279160,
Bottom_3,764.00,382.00,18.00,white,1,,,1,,279144,
shelf_6,764.00,382.00,18.00,white,1,,,1,,279150,
shelf_10,764.00,382.00,18.00,white,1,,,1,,279156,
back_7,1632.00,764.00,18.00,white,1,,,,,279152,

要在主题上,您可以将一个衬里包装在批处理文件中:

powershell -NoP -C "(Get-Content .SO_56900009.csv) -replace '"ABS *1"','1' -replace '(?<=_d+)_d'|Set-Content '.New.csv'"

最新更新