Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Редактировать CSV в PowerShell

Ответить
Настройки темы
PowerShell - [решено] Редактировать CSV в PowerShell

Старожил


Сообщения: 155
Благодарности: 3

Профиль | Отправить PM | Цитировать


Добрый день!

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

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

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

Отправлено: 11:21, 21-01-2019

 

Ветеран


Microsoft MVP


Сообщения: 1258
Благодарности: 859

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Import-Csv file.csv -Delimiter ";" | Foreach {
	$_."14. Срок окончания действия" = ($_."14. Срок окончания действия").Substring(2).Replace('-','')
	$_
} | Export-Csv r.csv -NoTypeInformation -Delimiter ";" -Encoding UTF8
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:23, 21-01-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 155
Благодарности: 3

Профиль | Отправить PM | Цитировать


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

Отправлено: 12:47, 21-01-2019 | #3


Старожил


Сообщения: 155
Благодарности: 3

Профиль | Отправить PM | Цитировать


Пока решил проблему таким способом
Код: Выделить весь код
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

Отправлено: 14:34, 21-01-2019 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Редактировать CSV в PowerShell

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Периеминование файла doc.csv в Документ_дата_время.csv kagorec Скриптовые языки администрирования Windows 2 29-03-2014 18:40
PowerShell - [решено] Импорт из CSV в AD с помощью PowerShell rox33 Скриптовые языки администрирования Windows 23 20-07-2012 15:45
2008 R2 - [решено] Windows Server R2 + PowerShell + CSV + AD rox33 Windows Server 2008/2008 R2 1 04-07-2012 11:31
PowerShell - Импорт пользователей с помощью POwerShell и CSV файла. Temafet Скриптовые языки администрирования Windows 19 18-01-2012 16:45
Офис и Текст - Редактировать DJVU GhostKU Программное обеспечение Windows 0 08-08-2010 15:08




 
Переход