PowerShell - 如何将导入的列视为一组数字?

时间:2015-07-07 15:54:52

标签: powershell import type-conversion

我的CSV看起来像:

No,BundleNo,Grossweight,Pieces,Tareweight,Netweight
1,Q9,193700,1614,646,193054
2,Q7,206400,1720,688,205712

我想要做的是将Netweight列中的每个值除以25但由于某种原因我正在努力。

这是我的代码方式:

$fileContent = Import-Csv $file
$netWeight = $fileContent | select Netweight
$netWeight | Foreach-Object { $_/25 }

这给了我一个错误:

Method invocation failed because [System.Management.Automation.PSObject] does not contain a method named 'op_Division'.

我尝试过尝试将值转换为数值但没有成功的几种变体。

感谢任何帮助。 谢谢, 约翰

1 个答案:

答案 0 :(得分:4)

你有几个选择,问题是你正在尝试对象的属性进行操作。

使用您当前的版本,您仍然需要明确访问Netweight属性,即使您已选择它:

$netWeight = $fileContent | select Netweight
$netWeight | Foreach-Object { $_.Netweight / 25 }

或者,您可以在选择时展平该属性:

$netWeight = $fileContent | select -ExpandProperty Netweight
$netWeight | Foreach-Object { $_/25 }