powershell - 使用 Powershell 将 arraylist 行更改为列

标签 powershell

我正在尝试在使用之后更改数组列表的格式

group-object

计算列表中的所有条目。

这是一个例子

$list = [System.Collections.ArrayList]@()

$list = "letter","solo","nap","nap","nap","sharp","ignite","tap","tap","tap","tap","evoke"

$list |  Group-Object | select name,count 

这是示例输出

Name   Count
----   -----
letter     1
solo       1
nap        3
sharp      1
ignite     1
tap        4
evoke      1

我想要的是

 letter   solo   nap     sharp   ignite  tap   evoke
--------  -----  ----    ----  -----   ------  ----   
    1       1      3      4     1        4       1

然后导出到excel的时候就是这样的格式

Excel

我尝试过的一切似乎都没有返回,甚至没有接近我正在尝试做的事情,我认为我遗漏了一些明显的东西或者已经达到了我的 PowerShell 技能限制。有人可以帮忙吗?谢谢

最佳答案

您可以创建一个 PSObject , 用 Add-Member 向它添加属性,然后使用 Format-Table 将输出格式化为表格:

$list = "letter","solo","nap","nap","nap","sharp","ignite","tap","tap","tap","tap","evoke"

$groups = $list | Group-Object | Select-Object Name, Count

$psObject = New-Object -TypeName psobject

foreach ($group in $groups) {
    $psObject | Add-Member -NotePropertyName $group.Name -NotePropertyValue $group.Count
}

$psObject | Format-Table

输出:

evoke ignite letter nap sharp solo tap
----- ------ ------ --- ----- ---- ---
    1      1      1   3     1    1   4

关于powershell - 使用 Powershell 将 arraylist 行更改为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61891214/

相关文章:

powershell - 如何更改参数的抛出消息?

powershell - 替换讨厌的 'umlaut' |标准方式不起作用

arrays - 在 Powershell 中,如何将一组对象的一个​​属性连接成一个字符串?

PowerShell 远程处理 未安装 MSI

powershell - 如何在PowerShell中将字符串值转换为动态数据类型?

powershell - 我可以一次创建/声明多个相同类型的PowerShell对象吗?

c# - 如何调试NuGet包的install.ps1脚本

xml - 获取名称中包含 '#' 的 XML 元素

powershell - 如何在PowerShell中读取ATOM XML

forms - foreach循环中的匿名clickhandler使用最后一个变量状态