繁体   English   中英

Powershell Export-Csv问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM