在powershell中,使用export-csv cmdlet,我的整数被引用封装,任何想法为什么?

时间:2011-07-15 16:35:17

标签: powershell

所以我运行一个sql查询,我管道导出到-csv,唯一的问题是所有的值都用引号封装,包括整数,这不可能重新导入SQL作为整数,任何想法为什么?< / p>

2 个答案:

答案 0 :(得分:6)

CSV没有类型的概念。这是一种纯粹的基于字符串的格式。 PowerShell只引用每个值,因为它更容易,并且通过不引用不需要的地方而获得的空间增益通常可以忽略不计。

作为注释,它还包括第一行中导出的对象的原始类型。然后PowerShell在加载文件时使用它来重建它。但是,仍然,每个属性都是一个字符串,因为,如上所述,CSV没有类型信息。

之后你可以做的是重建类型:

Import-CSV foo | %{
  $_.SomeIntProperty = [int]$_.SomeIntProperty
  ...
  $_
}

或者不要导出为CSV而是导出为CLIXML。

答案 1 :(得分:0)

它们被导出为字符串而不是整数。