Войти

Показать полную графическую версию : [решено] Переименование дублей в csv файле


YURETZS
20-10-2017, 10:31
Доброго времени суток.
Имеется csv-файл следующего содержания:

Name;ExternalEmailAddress;FirstName;LastName
Иванов Иван Иванович;ivanov@dom.ru;Иванов;Иван
Иванов Иван Иванович;iii@dom.ru;Иванов;Иван
Иванов Иван Иванович;ivanov.ivan@dom.ru;Иванов;Иван

Нужно в этом файле переименовать дубли в поле Name

На выходе должно быть

Name;ExternalEmailAddress;FirstName;LastName
Иванов Иван Иванович;ivanov@dom.ru;Иванов;Иван
Иванов Иван Иванович2;iii@dom.ru;Иванов;Иван
Иванов Иван Иванович3;ivanov.ivan@dom.ru;Иванов;Иван

Как это оптимально реализовать в PowerShell?

Kazun
20-10-2017, 10:58
Get-Content user.csv | Group {$_.split(";")[0]} | Foreach {
if($_.Count -gt 1) {
$_.Group | Foreach {$i = $null} {$_.Insert($_.IndexOf(";"),$i);$i++}
}
else {
$_.Group
}
}

YURETZS
20-10-2017, 11:20
Kazun
Спасибо, а как сделать вывод в другой csv-файл, типа | export-csv -Path user.csv -NoTypeInformation

YURETZS
20-10-2017, 11:42
Разобрался, просто добавить | Out-File user2.csv -Encoding Default




© OSzone.net 2001-2012