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

Jer*_*ome 2 powershell

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

Joe*_*oey 6

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

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

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

Import-CSV foo | %{
  $_.SomeIntProperty = [int]$_.SomeIntProperty
  ...
  $_
}
Run Code Online (Sandbox Code Playgroud)

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