从CSV中删除一行

时间:2016-09-15 18:08:29

标签: powershell csv

我有一个包含多行和两列的CSV:"名称"和"信息"。

我循环浏览CSV并检查每一行是否符合条件,如果符合条件,我想删除该行:

for ($i=0; $i -le $CSV.length; $i++)
{            
    if ($CSV.name == "Fred")
    {
         #remove $CSV[$i] -- that one line; both "Name" and "Information"
    }
}

我已经看过使用Get-ContentImport-Csv和临时文件的解决方案,但我还没有把头包裹起来,并认为必须有一个更简单的方法。

无论如何,感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

我会使用Import-CSV cmdlet读取CSV并使用Where-Object cmdlet过滤条目。最后,使用Export-CSV cmdlet写回CSV:

$csv = import-csv 'YourPath.csv'
$csv | Where Name -ne 'Fred' | Export-Csv 'YourPath.csv' -NoTypeInformation