【发布时间】:2017-07-20 14:52:00
【问题描述】:
使用 powershell 脚本 我正在以数组形式导入 CSV 文件,一切正常。
$csv = Import-Csv "C:\test.csv" -delimiter ";"
但我无法直接在字段名称 PeopleID 中轻松找到值。 唯一最好的方法是遍历所有数组行并查看我要查找的项目是否存在:
foreach($item in $csv)
{
if ($csv | where {$item.PeopleID -eq 100263} | select *) {
#Good I found it!!!
}
$List.add($item.PeopleID) > $null
}
我决定只在数组中直接导入我的列 PeopleID 以使其更快:
$csvPeople = Import-Csv "C:\test.csv" -delimiter ";" | select PeopleID
如果您看到更高,我还创建了一个数组 $List,它将每个 PeopleID 添加到我的循环中。 所以我有 2 个相同的数组
如果我使用 CONTAINS 命令的问题:
if($csvPeople -contains 100263)
the result is false
if($List -contains 100263)
the result is true
如何让我的 $csvPeople 数组使用“包含”?
导入 csv 列比遍历结果并将其添加到新数组要快,但是这个数组可以正常工作。
当我导入我的 CSV 列以拥有一个“工作”数组时,我是否遗漏了一些东西?
谢谢
【问题讨论】:
-
... | select PeopleID->... | select -Expand PeopleID
标签: arrays powershell csv