0

首先,这必须在 powershell 中完成,我没有其他可用的东西。好的,我有一个看起来像这样的 CSV 文件

名称, 位置, 州, 市, 邮编, 身份
鲍勃, 纽约上城, 纽约, 37903, 1001
威尔, 纽约市中心, 布鲁克林, 99999, 1010
坦率, 市中心, pa, 匹兹堡, 46546, 2015
马克,某处,德克萨斯州,达拉斯,45644, 1000
丽莎,这里,北卡罗来纳州,富兰克林,46542,1510

然后我有一个看起来像这样的数组

$foo = @ (1000, 2015, 1010)

我想要做的是构建一个新数组,其中删除了 foo 数组中列出的项目。

给出的示例中的预期输出将是

名称, 位置, 州, 市, 邮编, 身份
鲍勃, 纽约上城, 纽约, 37903, 1001
丽莎,这里,北卡罗来纳州,富兰克林,46542,1510

我已经尝试了很多东西,但到目前为止一直没有成功创建这个。顺便说一句,我不必在新数组中包含标题信息。身份字段是唯一的唯一字段

4

2 回答 2

3

尝试:

$csv = Import-Csv .\aaa.csv
$foo = @(1000, 2015, 1010)
$csvnew = $csv | ? { $foo -notcontains $_.identity }
于 2012-06-29T13:59:41.020 回答
1

在 PowerShell 3.0 中,您可以使用新的 NotIn 运算符:

Import-Csv file.csv | where Identity -notin $foo 
于 2012-06-29T14:35:39.977 回答