powershell - PowerShell:导入CSV文件,计数组大小和输出到原始文件,并在计数后添加新列

标签 powershell import-csv export-csv group-object

我有一个测试输入的csv文件,如下所示:

ID;Name;Level
1;Alpha;A
2;Bravo;A
3;Charlie;A
4;Delta;A
5;Echo;A
6;Foxtrot;A
7;Golf;A
1;Hotel;B
2;India;B
3;Juliet;B
1;Kilo;C
2;Lima;C
3;Mike;C
4;November;C
5;Oscar;C
并且我想生成以下输出文件:
ID;Name;Level;Number
1;Alpha;A;7
2;Bravo;A;7
3;Charlie;A;7
4;Delta;A;7
5;Echo;A;7
6;Foxtrot;A;7
7;Golf;A;7
1;Hotel;B;3
2;India;B;3
3;Juliet;B;3
1;Kilo;C;5
2;Lima;C;5
3;Mike;C;5
4;November;C;5
5;Oscar;C;5
我有以下代码段,尽管该代码段计算出正确的组计数,但不会向csv输出任何内容:
Import-Csv '.\TestInput.csv' -Delimiter ';' | 
   Group-Object 'Level' | 
   Select-Object -Expand Count | 
   Export-Csv -NoTypeInformation '.\TestOutput.csv'
我想念什么?

最佳答案

打破数字计数,试试看

$data = Import-Csv '.\TestInput.csv' -Delimiter ';'
$levelCount = $data | Group-Object -Property 'Level' -AsHashTable
$data | Add-Member -MemberType ScriptProperty -Name Number -Value {$levelCount[$this.Level].count} -PassThru | Export-Csv -NoTypeInformation '.\TestOutput.csv'

关于powershell - PowerShell:导入CSV文件,计数组大小和输出到原始文件,并在计数后添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62635337/

相关文章:

powershell - 使用 Azure Powershell Runbook 自动创建数据库

mysql - 加载数据文件 - 上传 CSV 文件

sql-server - 使用 CSV 文件的第一行作为列名 SQL

powershell - Export-Csv - 访问路径 'C:\export.csv' 被拒绝

c# - Powershell.exe - 无法编译使用 var 的 C# 代码

python - `[System.Console]::OutputEncoding/InputEncoding`怎么用Python?

powershell - 将iso文件转换为要部署在azure中的.VHD文件

sql - 使用 SQL 查询导入具有重复列名的 CSV

powershell - PS 脚本正在导出空 CSV

powershell - 用户配置文件名称和大小进入CSV文件