计算下一行中的行和显示计数

时间:2016-04-15 13:45:25

标签: csv powershell count

我有一行中的键列表,我正在尝试计算行数并在下一行添加计数。我一直在收到错误。 "Cannot convert value "KEY" to type "System.Int32". Error: "Input string was not in a correct format."好像它不喜欢我的.csv

中我的行的标题

我的CSV看起来像这样

KEY,
6666,
55555,
5555,
5550,
23,
30,
V-23333

我的输出应该是

KEY,Count
6666,1
55555,2
5555,3
5550,4
23,5
V-23333,6

我的代码是:

 $data = Get-content "file.csv"

 $datalist = New-Object System.Collections.ArrayList

 $count = 0

 foreach( $KEY in $data) 
 {
     $count++
     $row = New-Object -TypeName PSObject
     $row | Add-Member -MemberType NoteProperty -Name KEY -Value $vkey.KEY
     $row | Add-Member -MemberType NoteProperty -Name Count -Value $count
     $datalist.Add($row)
 } 

 $datalist.ToArray() | Export-CSV "file2.csv" -NoTypeInformation

1 个答案:

答案 0 :(得分:1)

使用select-object创建Count行:

$a = import-csv .\file.csv | select key, count

$count = 1

$a | % { $_.count = $count; $count++} 
$a | Export-Csv .\file2.csv

不要在文件名中使用$。 ($ file.csv,$ file2.csv)