CSV文件的列中需要3位数字

时间:2019-05-28 09:01:03

标签: powershell

我有一个脚本,可以从XML文件中提取数据,并将其放入具有2列的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”进行这种格式化?

请帮助我被困在这里。

2 个答案:

答案 0 :(得分:0)

将-f(format)运算符与变量一起使用

[int] $int = 25;

"{0:D3}" -f $int

这里3是数字,输出将是:

  

025

答案 1 :(得分:0)

有几种方法可以将更改应用于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