Powershell导入不带标题和where对象的csv

Powershell导入不带标题和where对象的csv,powershell,csv,Powershell,Csv,我有一个csv文件,如: 020;1;1;1 030;1;1;1 020;1;2;1 040;1;1;1 现在我想从第一列导入csv值和020值 我试过: Import-csv "path/to/file" | Where-Object {$_.[0] -eq "020" 我得到一个缺少值的错误 有人能帮忙吗?这里有三个问题: 文件不是逗号分隔的,而是分号。使用-分隔符“;”输入 导入Csv 文件缺少标题(列名)信息。使用-标题c1、c2、c3、c4或适当的列名来指定这些名称 过滤应该按列

我有一个csv文件,如:

020;1;1;1
030;1;1;1
020;1;2;1
040;1;1;1
现在我想从第一列导入csv值和020值

我试过:

Import-csv "path/to/file" | Where-Object {$_.[0] -eq "020"
我得到一个缺少值的错误


有人能帮忙吗?

这里有三个问题:

  • 文件不是逗号分隔的,而是分号。使用
    -分隔符“;”输入
    导入Csv
    
  • 文件缺少标题(列名)信息。使用
    -标题c1、c2、c3、c4
    或适当的列名来指定这些名称
  • 过滤应该按列名进行,类似于
    c1-eq'020'
因此,您的完整命令应该是:

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

你有三个问题:

  • 文件不是逗号分隔的,而是分号。使用
    -分隔符“;”输入
    导入Csv
    
  • 文件缺少标题(列名)信息。使用
    -标题c1、c2、c3、c4
    或适当的列名来指定这些名称
  • 过滤应该按列名进行,类似于
    c1-eq'020'
因此,您的完整命令应该是:

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

谢谢你,这似乎奏效了。最后一个问题:当我想查询c1和c3时,我该怎么做<代码>代码|其中对象c1-eq'020-和c3-eq'1'
@Igor请帮助
code |?c1-等式“020”|?c3-等式“1”
code |?{$\.c1-eq'020'-和$\.c3-eq'1'}
谢谢,这似乎很有效。最后一个问题:当我想查询c1和c3时,我该怎么做<代码>代码|其中对象c1-eq'020-和c3-eq'1'
@Igor请帮助
code |?c1-等式“020”|?c3-等式“1”
code |?{$\.c1-eq'020'-和$\.c3-eq'1'}