2016-04-15 8 views
0

私は1つの行にキーのリストを持っており、行を数え、次の行にカウント数を追加しようとしています。私は間違いを続けている。 "Cannot convert value "KEY" to type "System.Int32". Error: "Input string was not in a correct format."それは私の.CSVで私の行のタイトルを好きではないかのように行数と次の行の表示数

私のCSVは、私の出力が

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

私のコードがあるべきである。この

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

次のようになります。

$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

selectオブジェクトを使用してCount行を作成します。

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

$count = 1 

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

ファイル名に$を使用しないでください。 ($ file.csv、$ file2.csv)

+0

「$」はタイプミスです。私は信じているキー列に問題があります...エラー – ShanayL

+0

によると、公開されたコードを試しましたか?あなたのキーは、あなたの最後の行のような数字ではありません。 – Martin

+0

はい私はそれを試した。それは私のカウントの列のために働いたが、KEY列は空白です。あなたは正しいです。キーは常に数字ではありません – ShanayL

関連する問題