Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Редактировать CSV в PowerShell (http://forum.oszone.net/showthread.php?t=338839)

Rulezzz2 21-01-2019 11:21 2853530

Редактировать CSV в PowerShell
 
Добрый день!

Имеется файл 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 2853543

Код:

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 2853548

Отлично, спасибо, все конвертируется как надо.
Вот только при экспорте, все значения стали в кавычках.
Их потом отдельно надо удалять или есть какой то параметр для экспорта?

Rulezzz2 21-01-2019 14:34 2853576

Пока решил проблему таким способом
Код:

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



Время: 08:59.

Время: 08:59.
© OSzone.net 2001-