PowerShell的function转换为数字

即时通讯使用powershell打开两个Excel工作簿,并从一个复制到另一个数据,我要导入的数据包含文本和数字数据。 它被导入后,一切都被视为文本。 我有两列:A和B A有以下几种:01234567应该换算成1234567 B有以下几种:01234567.05应该换算成1234567.05

当然,我可以手动执行“转换为数字”function,但是此导入是自动完成的,因此不需要执行任何手动操作。 (另一种手动的方法是使用文本到列)

这不工作,甚至没有手动,如果我尝试使用格式化function进行转换,它不做任何工作表(“Sheet1”)。范围(“A2:A5000”)。NumberFormat =“0000000”

在Powershell中有几种方法可以转换为整数。 (Powershell没有数据types编号)

$myInt = [int]"4527427" $myInt = [int]::Parse("4527427") $myInt = [System.Convert]::ToInt32("4527427") 
 $csvData = @" A,B 01234567, 01234567.05 -123, 00045.06 "@ # Or Import-Csv <yourpath> -delimiter <yourdelimiter> in your case $csv = ConvertFrom-Csv $csvData -delimiter ',' Write-Host "" Write-Host "Before conversion" $csv Write-Host "" Write-Host "After conversion" # Or Import-Csv <yourpath> -delimiter <yourdelimiter> | %{ etc... in your case $csv = ConvertFrom-Csv $csvData -Delimiter ',' | %{ new-object PSObject -prop @{ A = [int] ($_.A); B = [double] ($_.B); } } $csv