我希望在第二个小数位后舍入(或简单地删除)CSV文件中的所有数字。
我了解[Math]::Round()
和'{0:f2}'
的.NET版本。我不知道如何将其应用于整个CSV文件。
答案 0 :(得分:1)
我们假设你有这样的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