gpt4 book ai didi

powershell - 如何使用powershell读取CSV文件的第一列

转载 作者:行者123 更新时间:2023-12-02 02:00:08 27 4
gpt4 key购买 nike

我正在尝试使用 powershell 读取 CSV 文件。

我目前在做以下事情:

#Reading CSV
$stats = Import-Csv -Path $counterFile -Delimiter $separator

现在我需要提取不同对象中的列值。

我已经看到我应该能够像这样访问它:

$stats.ColumnHeader

问题是这一列包含日期,天才决定这一列的标题将是计算机的时区,格式很奇怪。

那么如何在不“了解”标题文本且不修改其他列标题的情况下阅读第一列呢?

有没有办法通过索引访问这个列?

最佳答案

每个PSCustomObject有一些隐藏的属性:

$Stats |Get-Member -Force

Name MemberType Definition
---- ---------- ----------
pstypenames CodeProperty System.Collections.ObjectModel.Collection`1[[System.String, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] pstypenames{get=PSTypeNames;}
psadapted MemberSet psadapted {ToString, GetType, Equals, GetHashCode}
psbase MemberSet psbase {ToString, GetType, Equals, GetHashCode}
psextended MemberSet psextended {Id, Name, Country, EMail, Age, ReportsTo}
psobject MemberSet psobject {BaseObject, Members, Properties, Methods, ImmediateBaseObject, TypeNames, get_BaseObject, get_Members, get_Properties, get_Methods, get_ImmediateBaseObject, get_TypeNames, ToString, Copy, CompareTo, Equals, GetHash…
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
... NoteProperty ...

PSObject 属性包含 Properties 属性,该属性包含子属性以及 NameValue每个 $Stats 属性。
换句话说,要找出第一个 $Stats[0] 属性(又名第一列)的名称,您可以执行以下操作:

$Stats[0].PSObject.Properties.Name[0]
ColumnHeader

并检索该列的所有值:

$ColumnName = $Stats[0].PSObject.Properties.Name[0]
$Stats.$ColumnName

或者:

$Stats.($Stats[0].PSObject.Properties.Name[0])

关于powershell - 如何使用powershell读取CSV文件的第一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69089645/

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