Powershell:引用包含空格的属性

Powershell:引用包含空格的属性,powershell,csv,Powershell,Csv,我正在使用powershell导入CSV文件 问题是,其中一列的标题是“剩余时间-小时”。 所以我得到了一系列对象,它实际上被赋予了属性“剩余时间-小时” 引用此属性的语法是什么 乙二醇 返回 Category : Inquiry Starred : No Remaining Time - Hours : 22.5 但是如果我打字 $case.Remaining Time - Hours 我在表达式或语句中得到“意外标记‘时间’”当引

我正在使用powershell导入CSV文件

问题是,其中一列的标题是“剩余时间-小时”。 所以我得到了一系列对象,它实际上被赋予了属性“剩余时间-小时”

引用此属性的语法是什么

乙二醇

返回

Category               : Inquiry
Starred                : No
Remaining Time - Hours : 22.5
但是如果我打字

$case.Remaining Time - Hours

我在表达式或语句中得到“意外标记‘时间’”

当引用带有嵌入空格的属性时,必须引用它们:

 $case."Remaining Time - Hours"

或者也可以将该属性包装在{}中。像这样:

 $case.{Remaining Time - Hours}

仅需添加,属性名称本身可以是变量,例如:

PS> $o = new-object psobject -prop @{'first name' = 'John'; 'last name' = 'Doe'}
PS> $o

last name                                         first name
---------                                         ----------
Doe                                               John


PS> $prop = 'first name'
PS> $o.$prop
John

FWIW,如果您很难使用它进行编码,您可以添加别名属性:

 $caseprops = @"
 Category = Inquiry
 Starred = No
 Remaining Time - Hours = 22.5
 "@
 $case = new-object psobject -property ($caseprops | convertfrom-stringdata)

 $case | add-member aliasproperty "RT" "Remaining Time - Hours"

 $case | fl

 Remaining Time - Hours : 22.5
 Starred                : No
 Category               : Inquiry
 RT                     : 22.5

过去几周你帮了大忙-谢谢。很好,一个问题最终给了你很高的代表性-有趣的是,这是最简单的问题。:-)谢谢无意冒犯网站,但我认为这样的评论比分数和徽章更好。真的很好@mjolinorThis也可以在CSV对象中找到
$csv=导入csv filename.csv
然后用点键入对象的名称
$csv.
,并多次点击
选项卡
,以查看字段
$csv|ft-a
可用于检查csv文件是否正确加载。我喜欢您创建对象的方式。以前从未见过从stringdata转换的内容。。。
 $caseprops = @"
 Category = Inquiry
 Starred = No
 Remaining Time - Hours = 22.5
 "@
 $case = new-object psobject -property ($caseprops | convertfrom-stringdata)

 $case | add-member aliasproperty "RT" "Remaining Time - Hours"

 $case | fl

 Remaining Time - Hours : 22.5
 Starred                : No
 Category               : Inquiry
 RT                     : 22.5