我可能需要您的建议才能在Powershell上而不是从Excel上执行此操作。 我有一个示例CSV文件,如下所示。
$csv = Import-Csv -Path "C:\sample.csv" | Group VM | select Name, @{N='Number';E={($_.Group|Measure-Object -Property Count -sum).Sum}}
VM,Group
USFS01,F
USPS01,P
EUDC01,A
EUPS01,P
JPDC01,A
JPPS01,P
我希望在“输出”下面并保存输入和输出数据之间有5行空白的输出,还生成条形图和饼图,所有这些都在同一电子表格中。
Group No.VM
----- -----
A 2
F 1
P 3
谢谢。
答案 0 :(得分:2)
尝试一下-
$csv = Import-Csv -Path "C:\sample.csv"
$csv | Group-Object Group | % {
New-Object psobject -Property @{
Group = $_.Name
'No.VM' = ($_.Count)
}
}
下面是一个有效的示例-
$csv = @'
VM,Group
USFS01,F
USPS01,P
EUDC01,A
EUPS01,P
JPDC01,A
JPPS01,P
'@ | ConvertFrom-Csv
$csv | Group-Object Group | % {
New-Object psobject -Property @{
Group = $_.Name
'No.VM' = ($_.Count)
}
}
输出-
No.VM Group
----- -----
1 F
3 P
2 A
答案 1 :(得分:0)
您的初始命令还不错,但是
Group
而不是VM
Group-Object
和-NoElement
参数> Import-Csv -Path ".\sample.csv" | Group-Object Group -NoElement
Count Name
----- ----
1 F
3 P
2 A
要获得确切的属性名称和顺序,可以使用Sort-Object
,Select-Object
Import-Csv -Path ".\sample.csv" | Group-Object Group -NoElement |
Sort-Object Name | Select-Object @{n='Group';e={$_.Name}},@{n='No.VM';e={$_.Count}}
Group No.VM
----- -----
A 2
F 1
P 3