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

Posted

技术标签:

【中文标题】CSV 文件的列中需要 3 位数字【英文标题】:Need 3 digits in column in a CSV-file 【发布时间】:2019-05-28 09:01:02 【问题描述】:

我有一个脚本,它从 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.

如何使用“Export-CSV”进行这种格式化?

请帮助我被困在这里..

【问题讨论】:

请始终添加您已有的代码来解决您的问题! Format variable as 4 digits with leading zeroes 的可能重复项 没有看到代码我猜你只是打电话给PadLeft 【参考方案1】:

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

【讨论】:

【参考方案2】:

对变量使用 -f ( format ) 运算符

[int] $int = 25;

"0:D3" -f $int

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

025

【讨论】:

以上是关于CSV 文件的列中需要 3 位数字的主要内容,如果未能解决你的问题,请参考以下文章

使用 Java 从 CSV 文件中过滤掉数字

更新 CSV 文件以删除第一个数字并在特定列中插入小数位

从三个单独的列表创建一个 .csv 文件

如何让 NumberFormatter::parse() 只解析实际的数字字符串?

在 pyspark 中处理大数字的数据类型

关于excel保存为csv格式后,重新打开文本型数字变为科学计数,且15位后面变成0??