-1

我有一个 csv 文件说 Test.CSV 它有列和数据值,如

A 列具有 T1、T2、T2、T1 等值 B 列具有 P1、P2、P2、P1 等值

现在我想在检查/过滤 Test.CSV 中分别存在多少个 T1/T2 和多少个 P1/P2 的 A 和 B 之后将 T1、T2、P1、P2 转储到一个新的 Excel 表中,以便我的新文件 Test2.保存后的 xlsx 应该看起来像

T1=2,P1=2,T2=2,P2=2

如果我想将我的新 Excel 表中的 T1/T2/P1/P2 的列名更改为 T1-New/P1-New 等,请告诉我,在倾销过程中是否可以?

对此的任何帮助将不胜感激

4

1 回答 1

0

您可以使用Group-Objectcmdlet 计算 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()
于 2013-10-12T18:34:13.683 回答