2017-09-01 59 views
0

我有這樣一個CSV文件:Powershell的進口CSV沒有頭和地方對象

020;1;1;1 
030;1;1;1 
020;1;2;1 
040;1;1;1 

現在我想從第一列和值020

我試圖導入-CSV值:

Import-csv "path/to/file" | Where-Object {$_.[0] -eq "020" 

我得到一個缺少的值錯誤。

誰能幫助?

回答

2

你必須有三個問題:

  • 該文件沒有逗號分隔,但分號。在 Import-Csv中使用-Delimiter ';'
  • 該文件缺少標題(列名)信息。使用-Header c1,c2,c3,c4或適當的列名來指定。
  • 過濾應該列名來完成,像c1 -eq '020'

所以,你的完整的命令應該是:

Import-Csv 'path/to/file' -Header c1,c2,c3,c4 -Delimiter ';' | Where-Object c1 -eq '020' 
+0

謝謝,這似乎工作。最後一個問題: 當我想查詢c1和c3時,我該怎麼做? 'code | Where-Object c1 -eq'020 -and c3 -eq'1'' @Igor請幫忙 – Albert

+0

'code |? c1 -eq'020'|? c3 -eq'1'' 或 'code |? {$ _。c1 -eq'020'和$ _。c3 -eq'1'}' – fdafadf