首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell Export发行

Powershell Export发行
EN

Stack Overflow用户
提问于 2015-04-08 08:54:11
回答 2查看 502关注 0票数 1

我尝试从psobject导出csv格式的文件。在我的psoobject中,我有一个来自多个变量的自定义属性:

代码语言:javascript
复制
$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 

正如您所看到的,我的'test‘属性是来自两个变量$1和$2的对象,但是当我在我的文件中导出-csv时,我从我的'test’属性中得到了一个不正确的输出。

下面是我在csv文件中获得的输出:

8月8日-但必须是8/8

预先感谢您的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-08 09:50:13

csv文件中的值是字符串"8/8" --它将该字符串假定为部分日期,并以这种方式格式化它。

您可以通过查看文件的实际内容来验证:

代码语言:javascript
复制
PS C:\> Get-Content "C:\Users\adm-tc5190\Desktop\report\v2\test.csv"
#TYPE Selected.System.Management.Automation.PSCustomObject
"test"
"8/8"

与使用Excel直接打开csv文件不同,您可以使用“文本导入向导”导入数据( data tab ->获取来自文本的外部数据-> ),并在最后一步中指定"Text“作为数据类型。

票数 2
EN

Stack Overflow用户

发布于 2015-04-08 10:28:00

如果你能解释一下你想要完成什么,也许我们可以提供一个更好的方法?Excel的默认行为是尝试确定数据类型,8/8将被“转换”为日期格式,这是excel行为,与Powershell或它如何处理数据无关。

通过双击csv文件并在Excel中直接打开,我成功地重新创建了这个问题。如果您打开一个空白的excel文件并导入,正如MathiasR.Jesen在下面提到的,在文本导入向导的步骤3中指定“列数据格式”= text,我相信您将得到您期望的行为。这可能是比你想要的更多的工作,但这就是你如何得到你想要的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29510119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档