我有一个包含多行和两列的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-Content
或Import-Csv
和临时文件的解决方案,但我还没有把头包裹起来,并认为必须有一个更简单的方法。
无论如何,感谢任何帮助!
答案 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