首页 > 解决方案 > 需要 windows 脚本从 csv 文件中删除特定列

问题描述

我有一个分隔符设置为.csv 的 CSV 文件(格式如下),。作为输出,我们想column 4 ( Values )从下面的 CSV 中删除。

我们仅在 WINDOWS 批处理脚本中需要它,因为服务器上不允许其他脚本设置。服务器也有powershell,但我们不确定如何利用 powershell 命令来服务于以下目的。

CSV如下:

ID, NAME, SR, Values, Status  
"1", "Raj", "123", "A,B,C,D,E", "False"    
"2", "Rahul", "456", "C", "False" 

我们尝试了这个,但是它没有按预期工作:

(Get-Content .\testCSV.csv) | Foreach-Object { $_.split()[4] -join ' ' } | Out-File .\file.txt

预期结果(删除了值列)

ID, NAME, SR, Status
"1", "Raj", "123", "False"
"2", "Rahul", "456" , "False"

标签: powershellcsvbatch-filedelimiterwindows-scripting

解决方案


如果您使用 的内置 CSV 功能,您可以使用'sImport-CSV排除属性/列。Select-Object-ExcludeProperty

提示符或脚本:

Import-CSV .\testCSV.csv | Select-Object * -ExcludeProperty Values | Export-CSV .\Modified.csv -NoTypeInformation

PowerShell -NoP "IpCSV .\testCSV.csv|Select * -Exc Values|EpCSV .\Modified.csv -NoT"

推荐阅读