在PowerShell中使用cmdlet Import-Csv处理csv文件时,是否有一种简单/优雅的方式来查询列的位置而不是标题名称?
此数据的示例:
row1, abc
row2, def
row3, xyz
如果文件有" header_column2"以下命令可以正常工作作为第二栏的标题:
import-csv data.csv | where {$_.header_column2 -eq "xyz"}
我正在寻找这样的东西(显然不起作用!):
import-csv data.csv | where {$_.[2] -eq "xyz"}
我知道如果我在文件中没有标题,我可以使用-Header参数来指定这些标题,但是我正在寻找快速方便的东西来动态编写各种文件,其中标题是不相关。
非常感谢!
答案 0 :(得分:2)
由于@PetSerAl在StackOverflow上不理解评论和答案之间的区别,我将提供类似的答案。
您可以使用.PSObject.Properties
列出对象中的属性。这将返回一个不知道索引的IEnumerable
,但如果将其转换为数组,它将会。
@($_.PSObject.Properties)[2].Value