2015-07-01 154 views
0

我想在第二個小數位後舍入(或直接刪除)CSV文件中的所有數字。將CSV中的所有數字舍入爲兩位小數

我知道[Math]::Round()和.NET版本的'{0:f2}'。只是不知道如何將其應用於整個CSV文件。

+0

導入CSV文件到powershell,並用你提到的[system.math] :: round處理每個項目,然後導出到一個新的csv文件 – Avshalom

回答

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 
+0

不是黃金我一直在尋找但同樣好的票。謝謝! – RichT

相關問題