所以我运行一个sql查询,我管道导出到-csv,唯一的问题是所有的值都用引号封装,包括整数,这不可能重新导入SQL作为整数,任何想法为什么?< / p>
答案 0 :(得分:6)
CSV没有类型的概念。这是一种纯粹的基于字符串的格式。 PowerShell只引用每个值,因为它更容易,并且通过不引用不需要的地方而获得的空间增益通常可以忽略不计。
作为注释,它还包括第一行中导出的对象的原始类型。然后PowerShell在加载文件时使用它来重建它。但是,仍然,每个属性都是一个字符串,因为,如上所述,CSV没有类型信息。
之后你可以做的是重建类型:
Import-CSV foo | %{
$_.SomeIntProperty = [int]$_.SomeIntProperty
...
$_
}
或者不要导出为CSV而是导出为CLIXML。
答案 1 :(得分:0)
它们被导出为字符串而不是整数。