我必须导入一个csv文件,我想直接在foreach中放置一个条件。我是说 :
要阅读 csv,我会这样做(是的,我的分隔符是 \ ):
$csv = Import-Csv -Delimiter \ -Path $mypath -Header 'column1', 'column2', 'column3'
然后我做:
foreach($line in $csv)
{
#Actions
}
我想做什么,但我不知道是否有可能:
for($i =1; $i -lt $myarray.Length; $i++)
{
foreach($line in $csv) | Where $line.column2 -eq $myarray[$i]
{
#Actions only if $line.column2 is equal to $myarray[$i]
}
}
所以我得到了一个数组,里面有名字。而且我想做#Actions,只有当csv中的一列与我的数组中的信息匹配时。如果没有,我想在 $csv 中更改 $line。
我写的这个想法看起来很沉重,我认为有更好更快(更难更强大#DaftPunk)的方法来做到这一点。
如果有人以前已经使用过这个,请告诉我:)
提前致谢,
尼科。
PS:我为我的英语道歉;)
编辑:我刚刚意识到我可以做一个 if 条件:
for($i =1; $i -lt $myarray.Length; $i++)
{
foreach($line in $csv)
{
if($line.column2 -eq $myarray[$i]
{
#Actions
}
}
}
但我仍然认为:| #Conditions 在哪里更好...