0
CSV 파일을 가져와야하고 foreach에 조건을 직접 입력하고 싶습니다. 내 말은 :PowerShell - 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]
}
}
그래서 배열 안에 이름이 있습니다. csv의 열이 내 배열의 정보와 일치하는 경우에만 #Actions를 수행하려고합니다. 그렇지 않다면 $ csv에서 $ line을 변경하고 싶습니다.
내가 작성한 아이디어는 너무 무거워 보입니다.이 작업을 수행하는 데 더 빠르고 (강하고 #DaftPunk) 방법이 있다고 생각합니다. 누군가가 이미 전에이를 사용하는 경우
, 내가 사전에 :)
감사합니다,
니코을 알려 주시기 바랍니다. 난 그냥 내가 만약 조건이 할 수있는 것을 깨달았다 :
for($i =1; $i -lt $myarray.Length; $i++)
{
foreach($line in $csv)
{
if($line.column2 -eq $myarray[$i]
{
#Actions
}
}
}
하지만 난 여전히 생각을하는 : |;
P.S)
편집을 내 영어에 대한 사과 #Conditions이 더 어디 루프 내에서, 여기
Import-Csv ... | Foreach-Object{
if(something)
{
#do something with the current object and write it back to the pipeline
$_ = ...
$_
}
else
{
# write the object back to the pipeline
$_
}
}
감사합니다 :) 내가 이것을 사용합니다 일반적인 접근 방식의 경우 ... – Nico
예, ** if ($ .HeaderName -eq desiredValue) {}가 작동하거나 where-object도 가능합니다. –