我正在寻找一种在Powershell中过滤csv中条目的解决方案
我的文件看起来像这样
Header1;Header2;Header3
Tom;15;15.12.2008
Anna;17;
Tim;18;12.01.2007
我的代码看起来像这样:
$altdaten = Get-Content -Path $altdatenpf | Select-Object -skip 1 |`
ConvertFrom-Csv `
-Delimiter ";"`
-Header $categoriesCSV
$neudaten = Get-Content -Path $neudatenpf | Select-Object -skip 1 |`
ConvertFrom-Csv `
-Delimiter ";"`
-Header $categoriesCSV
$zdaten = foreach ($user in $neudaten)
{
Where-Object $user.Austrittsdatum -EQ ''
}
$zdaten | export-Csv -Path '.\Test\zwischendaten.csv'
在这种情况下,我要删除所有与tim和Tom类似的条目,它们在header3中都有条目
提前谢谢
答案 0 :(得分:0)
您可以尝试以下操作:
$altdaten = Get-Content -Path .\pathToCsvFile.csv | ConvertFrom-Csv -Delimiter ';'
$zdaten = $altdaten | Where-Object { $_.Header3 -eq $null }
您的相等运算符实际上检查一个空字符串。但是,在您的CSV文件中,没有任何内容。因此,您需要检查$null
。
或者,如果不确定,可以使用:
$zdaten = $altdaten | Where-Object { [string]::IsNullOrEmpty($_.Header3) }
这涵盖了任何一个选项,并且看上去也很有吸引力(至少对我而言)。