Нужно 3 цифры в столбце в CSV-файле - PullRequest
0 голосов
/ 28 мая 2019

У меня есть скрипт, который извлекает данные из файла XML и помещает их в файл CSV с 2 столбцами. Файл выглядит так:

Name, Count
1,34
3,55
15,66
103,99
etc.

Пока все хорошо ...

Моя проблема в том, что программа, которая читает CSV-файл, всегда ожидает 3 цифры в столбце «Имя».

Так что CSV-файл должен выглядеть так:

Name, Count
001,34
003,55
015,66
103,99
etc.

Как мне сделать это форматирование с помощью «Export-CSV»?

Пожалуйста, помогите, я застрял здесь ..

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Существует несколько способов применить изменения к CSV-файлу.

Чтение / импорт в переменную, имя изменения, переменная Export-Csv

$Csv = Import-Csv .\Sample.csv
$Csv | ForEach-Object{ $_.Name = $_.Name.PadLeft(3,'0') }
$Csv | Export-Csv .\NewSample.csv -NoTypeInformation

Сделайте то же самое на лету с вычисленным свойством, использующим тот же заголовок / имя свойства.

Import-Csv .\Sample.csv | 
  Select-Object @{n='Name';e={$_.Name.PadLeft(3,'0')}},Count|
    Export-Csv .\NewSample2.csv -NoTypeInformation
0 голосов
/ 28 мая 2019

Используйте оператор -f (формат) с переменной

т.е.

[int] $int = 25;

"{0:D3}" -f $int

Здесь 3 - это число цифр, и вывод будет:

025

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...