0
我想在第二个小数位后舍入(或直接删除)CSV文件中的所有数字。将CSV中的所有数字舍入为两位小数
我知道[Math]::Round()
和.NET版本的'{0:f2}'
。只是不知道如何将其应用于整个CSV文件。
我想在第二个小数位后舍入(或直接删除)CSV文件中的所有数字。将CSV中的所有数字舍入为两位小数
我知道[Math]::Round()
和.NET版本的'{0:f2}'
。只是不知道如何将其应用于整个CSV文件。
比方说,你有csv文件是这样的:
Name Num1 Num2 Num3
---- ---- ---- ----
Test1 4.2414 346.2425 33.24124
Test2 123.35235 56.35235 326.23535
Test3 12424.2424 57.3525 466.3525
Test4 4364.343 12.241212 1.12424
Test5 12.552353 464.352353 346.4646
Test6 323.535235 46.235235 235.2352
导入CSV文件,并运行此:
$csv = import-csv C:\temp\testfile.csv
foreach ($Item in $csv)
{
$Item.Num1 = [math]::Round($Item.Num1,2)
$Item.Num2 = [math]::Round($Item.Num2,2)
$Item.Num3 = [math]::Round($Item.Num3,2)
}
## To save to new file
$Csv | Export-Csv C:\temp\testfile2.csv -NoTypeInformation
你的输出将是:
Name Num1 Num2 Num3
---- ---- ---- ----
Test1 4.24 346.24 33.24
Test2 123.35 56.35 326.24
Test3 12424.24 57.35 466.35
Test4 4364.34 12.24 1.12
Test5 12.55 464.35 346.46
Test6 323.54 46.24 235.24
不是黄金我一直在寻找但同样好的票。谢谢! – RichT
导入CSV文件到powershell,并用你提到的[system.math] :: round处理每个项目,然后导出到一个新的csv文件 – Avshalom