Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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
Sql Powershell CSV输出-无法删除行和特殊字符_Sql_Powershell_Csv - Fatal编程技术网

Sql Powershell CSV输出-无法删除行和特殊字符

Sql Powershell CSV输出-无法删除行和特殊字符,sql,powershell,csv,Sql,Powershell,Csv,我在使用csv文件时遇到问题。我的脚本正在从SQL表收集数据,然后它应该将结果写入csv文件。我的问题是,我的代码当前创建的csv文件有我不想要的语音标记和两行标题 现在,我的文件如下所示: 键入System.Data.DataRow 代码,“订单”,“价格” 产品1,“1”,“207,75” 产品2,“1”,“95,24” 我希望它看起来像这样: 产品1;1.207,7 产品2;1.95,24 我的代码: $VAR1 = "select [product], [order], [price]

我在使用
csv
文件时遇到问题。我的脚本正在从SQL表收集数据,然后它应该将结果写入
csv
文件。我的问题是,我的代码当前创建的
csv
文件有我不想要的语音标记和两行标题

现在,我的文件如下所示:

键入System.Data.DataRow

代码,“订单”,“价格”

产品1,“1”,“207,75”

产品2,“1”,“95,24”

我希望它看起来像这样:

产品1;1.207,7

产品2;1.95,24

我的代码:

$VAR1 = "select [product], [order], [price] from TABLE1
$VAR2 = Invoke-Sqlcmd -Query $VAR1 -serverinstance SERVER1
$Result | Export-Csv -path C:\test55.csv

通过使用
-NoTypeInformation
开关打开
导出CSV
,可以删除
类型
标题行

我不认为可以关闭语音标记,但如果数据值中包含逗号,它们会很有用。如果您在Excel中打开CSV,语音标记将不可见,因此阅读CSV的内容会使他们感到荣幸。如果要删除它们,可以执行
-replace
操作,但如果它们是数据的一部分,则可能会删除它们

如果要删除标题行,可以使用
converttocsv
,然后使用
Select Object
跳过输出的第一行

例如:

$VAR1 = "select [product], [order], [price] from TABLE1"
$VAR2 = Invoke-Sqlcmd -Query $VAR1 -serverinstance SERVER1

($Result | ConvertTo-Csv -NoTypeInformation |
    Select-Object -Skip 1) -Replace '"' |
    Out-File C:\test55.csv

这很有魅力。非常感谢。我需要删除语音标记,因为我的程序不接受带有它们的cav。另外,做好准备,工作自动化(即将到来:)