2016-07-27 5 views
0

CSV 파일에서 데이터를 가져온 다음 개체에 추가 헤더와 데이터를 추가하려고합니다. 예 : CSV 내가 값 duplicate과 필드 reason을 추가 할가져 오기 후 배열에 데이터 추가하기 CSV

firstname,lastname,e-mail,telephone 
john,doe,[email protected],3015551212

이 포함되어 있습니다.

결국 모든 업데이트 된 정보를 다른 CSV 파일로 내보내려고합니다. 거의 다

$completelist = '.\NZ-CompleteList.csv' 
Import-Csv -Path $CompleteList | 
    Group-Object TelephoneExtension | 
    Where-Object {$_.Count -gt 1} | 
    Select-Object -ExpandProperty Group 

답변

0

:

$completelist = '.\NZ-CompleteList.csv' 
import-csv -path $CompleteList | Group-Object TelephoneExtension | Where-object {$_.count -gt 1} | Select-Object -ExpandProperty Group | Select-Object *,@{n='Reason';e={'Duplicate'}} | Export-CSV Duplicates.csv -NoTypeInformation 

편집 :

좋아요. 그런 다음

$completelist = '.\NZ-CompleteList.csv' 
$original = import-csv -path $CompleteList 
$export = $original | Group-Object TelephoneExtension | Where-object {$_.count -gt 1} | Select-Object -ExpandProperty Group | Select-Object *,@{n='Reason';e={'Duplicate'}} 
$export += $original | Group-Object TelephoneExtension | Where-object {$_.count -eq 1} | Select-Object -ExpandProperty Group | Select-Object *,@{n='Reason';e={'Unique'}} 
$export | Export-CSV Updated.CSV -NoTypeInformation 

당신은 정렬을 유지하려면 ...

$completelist = '.\NZ-CompleteList.csv' 
$original = import-csv -path $CompleteList 

$Original | Select-Object *,@{n='Reason';e={$t = $_.TelephoneExtension; IF (($Original | ?{$_.TelephoneExtension -eq $t}).count -gt 1) {"Duplicate"} ELSE {"Unique"}}} | Export-CSV Updated.CSV -NoTypeInformation 

당신의 내용을 읽을 수 없습니다 내 경험에 원본 파일

$completelist = '.\NZ-CompleteList.csv' 
$original = import-csv -path $CompleteList 

$export = $Original | Select-Object *,@{n='Reason';e={$t = $_.TelephoneExtension; IF (($Original | ?{$_.TelephoneExtension -eq $t}).count -gt 1) {"Duplicate"} ELSE {"Unique"}}} 
$export | export-csv $completelist -notypeinformation 

정렬 보존 및 업데이트 파일을 덮어 쓰고 같은 줄에있는 파일을 덮어 씁니다.

+0

거의 다 있습니다. 이렇게하면 새 파일에 복사본이 기록되고 요청 된대로 원래 파일은 업데이트되지 않습니다. –

+0

실제로 동일한 파일의 레코드를 업데이트 할 수 있습니까? :-) – PdeRover

관련 문제