Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# PowerShell导出Csv将不会导出不带引号的整数_C#_Powershell_Csv - Fatal编程技术网

C# PowerShell导出Csv将不会导出不带引号的整数

C# PowerShell导出Csv将不会导出不带引号的整数,c#,powershell,csv,C#,Powershell,Csv,我有一个这样的PSObject: $obj = New-Object PSObject -Property @{ "int"=0; "str"="string"; } 但是,当我运行$obj | Export Csv-Path“test.Csv”时,我得到: #TYPE System.Management.Automation.PSCustomObject "str","int" "string","0" 有什么好处?输出不应该是: #TYPE System.Manageme

我有一个这样的PSObject:

$obj = New-Object PSObject -Property @{
    "int"=0;
    "str"="string";
}
但是,当我运行
$obj | Export Csv-Path“test.Csv”
时,我得到:

#TYPE System.Management.Automation.PSCustomObject
"str","int"
"string","0"
有什么好处?输出不应该是:

#TYPE System.Management.Automation.PSCustomObject
"str","int"
"string",0
如果整数包含引号,接收此文件的程序将不会验证CSV。别问我为什么


编辑:这也是一个问题。答案真的是做后处理正则表达式来修复文件吗?!似乎需要打开
导出Csv
才能允许此操作。

此操作应按照您的示例进行:

$obj = New-Object PSObject -Property @{
    "int"=0;
    "str"="string";
}

$obj  | Export-Csv -Path "C:\Users\owain.esau\Desktop\Test\test.csv" -NoTypeInformation -Delimiter "," | % {$obj.int -replace '"',''} 

什么使您认为它不应该用双引号括起来?您首先需要为对象中的字段指定一个“类型”。您可以通过管道将其从数字中删除引号,但谁能说数字不仅仅是字符串字段中的数字呢?我不知道这里所有的反对票是怎么回事。@Nick.McDermaid他们已经打好了。在测试中,这对我来说没有任何改变。强类型或no@OwainEsau我同意传统的CSV文件没有类型。但是我必须将这些数据导入到的程序显然有不同的想法,如果我导入的数字用引号括起来,则会出现错误。我只是很恼火,我不得不编写一个解决方案来实现这一点。如果您导入的程序也需要它,请参阅我的答案,这是很公平的。