gpt4 book ai didi

powershell - 如何获取 CSV 中标题的值

转载 作者:行者123 更新时间:2023-12-02 22:09:54 24 4
gpt4 key购买 nike

在 PowerShell 中,我想将 CSV 文件中的标题名称传递给 PowerShell 脚本中的另一个函数。

如何将标题名称的值文本检索到 CSV 中的变量中?

例如如果我有以下 CSV 数据:

ID Name     Country
-- ---- -------
1 John United States
2 Beatrice Germany
3 Jouni Finland
4 Marcel France

在上面的示例中,如何将 Country 列值文本作为“Country”文本检索到脚本中的变量中?

(注意:我熟悉 $_.Country 符号,可以通过在 Powershell 中导入 CSV 来从一行中检索“德国”的值)

我的具体问题是目前我的脚本中有以下功能:
function GetItemIdFromTitle([string]$LookupTitle, [ref]$LookupId)
{
$LookupField = $LookupList.Fields["DEPTCATEGORY"]
$LookupItem = $LookupList.Items | where {$_['DEPTCATEGORY'] -like "*$LookupTitle*"}
$LookupId.Value = $LookupItem.ID
}

这当前采用字符串值 -> $LookupTitle 并使用它来查找 SharePoint 列表中的项目。正如您在脚本中看到的,我在列名中硬编码为“DEPTCATEGORY”。这是将在 SharePoint 列表中查找的列名称。

我想为相应的 $LookupTitle 值传入列名,而不是对列名进行硬编码,并替换硬编码的“DEPTCATEGORY”。

我按如下方式调用上述函数:
#GET THE LOOKUP COLUMN ID       
GetItemIdFromTitle $_.DEPTCAT ([ref]$LookupIdValue)

( $_.DEPTCAT 是来自 CSV 列中的行的值。)

我可以做类似的事情吗
$myCountryColumnName = $_.Country.Property.Title 

或者
$myCategoryColumnName = $_.DEPTCAT.Property.Name

从 CSV 中获取列名?

最佳答案

如果你在 $obj 中有一个对象,你可以像这样列出所有的属性头:

$obj | Get-member -MemberType 'NoteProperty' | Select-Object -ExpandProperty 'Name'

这是一个数组,因此您可以像这样单独引用它们:
($obj | Get-member -MemberType 'NoteProperty' | Select-Object -ExpandProperty 'Name')[0]

例如,这只会为您提供第一个属性的名称。

关于powershell - 如何获取 CSV 中标题的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25764366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com