[英]Powershell Export-Csv issue
我尝试从psobject
导出csv格式的文件。 在我的psoobject
我有一个来自psoobject
变量的自定义属性:
$1 = 8
$2 = 8
$props = @{
'test' = "$1/$2"
}
$csv = New-Object -TypeName psobject -Property $props
$csv | select * | Export-Csv C:\Users\adm-tc5190\Desktop\report\v2\test.csv
如您所见,我的“测试”属性是一个来自2个变量$ 1和$ 2的对象。 但是,当我在文件中导出csv时,从“测试”属性中得到的输出不正确。
这是我在csv文件中得到的输出:
8月8日,但必须为8/8
预先感谢您的帮助
csv文件中的值是字符串"8/8"
假定该字符串为部分日期,并以这种方式设置其格式。
您可以通过查看文件的实际内容来进行验证:
PS C:\> Get-Content "C:\Users\adm-tc5190\Desktop\report\v2\test.csv"
#TYPE Selected.System.Management.Automation.PSCustomObject
"test"
"8/8"
您可以使用“文本导入向导”(“ 数据”选项卡->“获取外部数据”->“ 从文本” )导入数据 ,然后在最后一步中将“文本”指定为数据类型,而不是直接使用Excel打开csv文件。
如果您可以解释您要完成的工作,也许我们可以提供更好的方法? Excel的默认行为是尝试确定数据类型,并且8/8将被“转换”为日期格式,这是一种出色的行为,与Powershell或它如何处理数据无关。
通过双击csv文件并直接在Excel中打开,我成功地解决了问题。 如果打开空白的excel文件并进行导入(如下面的Mathias R. Jessen所述),则在文本导入向导的第3步中指定“列数据格式” = text,我相信您会获得预期的行为。 这可能比您想要的工作还要多,但这就是您获得所需结果的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.