PDA

Показать полную графическую версию : [решено] Редактировать CSV в PowerShell


Rulezzz2
21-01-2019, 11:21
Добрый день!

Имеется файл csv, разделенный ";" с русскими заголовками, надо поменять формат даты.
К примеру 14-й столбец с заголовком "14. Срок окончания действия", содержит данные такого вида:
2024-01-31
2019-10-10
2019-05-29
...

а надо их привести к такому виду:
240131
191010
190529
...

в PowerShell пока не очень силен, просьба сильно не ругать :)
нашел пару нужных команд: import-csv и foreach-object
но вот что делать дальше не знаю

Kazun
21-01-2019, 12:23
Import-Csv file.csv -Delimiter ";" | Foreach {
$_."14. Срок окончания действия" = ($_."14. Срок окончания действия").Substring(2).Replace('-','')
$_
} | Export-Csv r.csv -NoTypeInformation -Delimiter ";" -Encoding UTF8

Rulezzz2
21-01-2019, 12:47
Отлично, спасибо, все конвертируется как надо.
Вот только при экспорте, все значения стали в кавычках.
Их потом отдельно надо удалять или есть какой то параметр для экспорта?

Rulezzz2
21-01-2019, 14:34
Пока решил проблему таким способом
Import-Csv file.csv -Delimiter ";" | Foreach {
$_."14. Срок окончания действия" = ($_."14. Срок окончания действия").Substring(2).Replace("-","")
$_
} | Export-Csv ready.csv -NoTypeInformation -Delimiter ";" -Encoding UTF8
(Get-content "ready.csv") -replace('"','') | out-file ready2.csv -Encoding Default -Force




© OSzone.net 2001-2012