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。另外,做好准备,工作自动化(即将到来:)