首先,这必须在powershell中完成,其他任何东西都不可用。 好的,我有一个看起来像这样的CSV文件
name, location, state, city, zip, identity bob, uptown ny, newyork, 37903, 1001 Will, downtown, ny, brooklyn, 99999, 1010 frank, midtown, pa, pitsburg, 46546, 2015 mark, somewhere, tx, dallas, 45644, 1000 Lisa, here, nc, franklin, 46542, 1510
然后我有一个看起来像这样的数组
$foo = @ (1000, 2015, 1010)
我想要做的是构建一个新数组,其中foo数组中列出的项目将被删除。
给出的示例中的预期输出为
name, location, state, city, zip, identity bob, uptown ny, newyork, 37903, 1001 Lisa, here, nc, franklin, 46542, 1510
我尝试过很多东西,但到目前为止还没有成功。顺便说一句,我不必在新数组中有头信息。身份字段是唯一的唯一字段
答案 0 :(得分:3)
尝试:
$csv = Import-Csv .\aaa.csv
$foo = @(1000, 2015, 1010)
$csvnew = $csv | ? { $foo -notcontains $_.identity }
答案 1 :(得分:1)
在PowerShell 3.0中,您可以使用新的NotIn运算符:
Import-Csv file.csv | where Identity -notin $foo