我无法弄清楚如何在PowerShell中输出基于行的数据表。我能够做标准的基于柱状的数据表,但不是相反。
我目前的输出如下:
Books Cables Pens
Client1 1 0 0
Client2 2 4 6
Client3 1 3 10
书籍,电缆和笔是不变的,我有新的客户要添加。
我需要能够输出一个表格,我可以通过过滤客户端和项目来缩小范围
我需要看起来像这样:
Client1 Client2 Client3
Books 1 2 1
Cables 0 4 3
Pens 0 6 10
我目前使用键/值对来填充来自单独对象的数据:
$ctable = foreach ($client in $clientstuff) {
[PSCustomObject] @{
Client = $client.name
Books = $client.books.Count
Cables = $client.cables.Count
Pens = $client.pens.Count
}
}
$ctable= $ctable | Format-table
需要格式化为表格,否则它将作为列表出现 我有100多个客户和40多个不同的项目,所以我不能完全硬编码。
我想我可以使用System.Data.Datatable,但如果是这样,我不知道如何。
我已经查看了提供的解决方案 Export hashtable to CSV with the key as the column heading
但我似乎无法使其发挥作用,即使答案没有标记为回答问题中的问题。无论我如何适应它,它只会让我犯错误。此解决方案不符合我可以由项目和客户端过滤的要求,它只是将其转换为具有多列的编号列表。
我还查看了许多其他链接,但是这些链接总是更像列表而不是可解析表,可以通过RowName(item)和ColumnName(client)进行过滤
最好我想要一种方法一般输出到基于行的表格,但如果不是这样也可以很好地输入