У меня есть скрипт, который извлекает данные из файла XML и помещает их в файл CSV с двумя столбцами. Файл выглядит так:
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.
Как я могу сделать это форматирование с помощью «Экспорт-CSV»?
Пожалуйста, помогите, я застрял здесь..
Не видя кода, я бы предположил, что вы просто вызываете PadLeft
Используйте оператор -f ( формат ) с переменной
то есть
[int] $int = 25;
"{0:D3}" -f $int
Здесь 3 - количество цифр, а вывод будет:
025
Есть несколько способов применить изменения к 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
Пожалуйста, всегда добавляйте код, который у вас уже есть для вашей проблемы! Возможный дубликат Форматировать переменную как 4 цифры с ведущими нулями