2016-07-20 9 views
1

私は読書値:行1、列2:行1

1 

201 

2 

202 
. 
. 

CSVファイルと同様の方法でCSVから2列値を読み、印刷するには、単純なPowerShellのコードを記述しようとしています:

PRODID DEVID Name 

1  201 Application 

2  202 Product 

3  203 Component 

4  204 Author 

5  205 Version 

PowerShellのコード:

$DEVID = Import-Csv C:\test\install.csv | % {$_.DEVID} 
$PRODID = Import-Csv C:\test\install.csv | % {$_.PRODID} 

ForEach ($DEVI in $DEVID) 
{ 
    Write-Host $DEVI 

    ForEach ($PRODI in $PRODID) 
    {[enter image description here][1] 
     Write-Host $PRODI  
    } 
} 

しかし、私は期待した出力を得ていませんが、私はブレークを試みましたが、構文を続行します。 この場合、誰も助けてくれますか?

+0

'{$ _。PRODID}'の代わりに '{$ .PRODID}' –

+0

はお返事をあなたにミッキーをありがとう、私はCSVからではなく、私は期待してい形式で値を読み取ることができています。 2番目のforeachループは、2番目の列から値を読み終わらない限り続行されます。 –

+0

各ProdIDには固有のDevIDがありますか? –

答えて

1

あなたはcsvを1回だけインポートする必要があります。それからちょうどご希望のレコードを、それを反復処理し、出力:

Import-Csv 'C:\test\install.csv' | Foreach { 
    $_.PRODID; $_.DEVID; 
} 

出力:

1 
201 
2 
202 
3 
203 
4 
204 
5 
205 

これが機能しない場合、あなたは私達にあなたのcsvファイルを表示する必要があります。

+0

はCSVファイルです: PRODID DEVID名 1 201アプリケーション 2 202製品 3 203コンポーネント 4 204著者 5 205バージョン –

+0

あなたのcsvファイルをアップロードすることができますか? Import-CSVコマンドレットが正しく読み取れないようです。 –

+0

イメージが添付されています。もしあなたがそれを見ることができたら教えてください。 –

関連する問題