我有一个csv文件说Test.CSV有列和数据值,如
A列具有T1,T2,T2,T1等值 B列的值如P1,P2,P2,P1
现在我想在检查/过滤T1 / T2的数量以及A&的P1 / P2数量后,将T1,T2,P1,P2转储到新的Excel表格中。 B分别出现在Test.CSV中,这样我保存的新文件Test2.xlsx应该看起来像
T1 = 2,P1 = 2,T2 = 2,P2 = 2
另外请告诉我是否要将新Excel工作表中T1 / T2 / P1 / P2的列名更改为T1-New / P1-New等,是否可以在转储过程中使用?
对此的任何帮助都将非常感激
答案 0 :(得分:0)
您可以使用Group-Object
cmdlet计算CSV列中的值:
$csv = Import-Csv 'C:\path\to\Test.CSV'
$colA = $csv | Group-Object 'A' | select Name, Count
$colB = $csv | Group-Object 'B' | select Name, Count
将name = count对放入Excel工作表的示例代码:
$xl = New-Object -COM 'Excel.Application'
$xl.Visible = $true
$wb = $xl.Workbooks.Add()
$val = "{0}={1}" - f $colA[0].Name, $colA[0].Count
$wb.Sheets.Item(1).Cells.Item(1, 1).Value = $val
$wb.SaveAs("C:\path\to\Test2.xlsx")
$wb.Close()
$xl.Quit()