我在处理csv
文件时遇到了麻烦。我的脚本正在从SQL表收集数据,然后应将结果写为csv
文件。我的问题是我的代码当前创建的csv
文件具有语音标记和两行我不想要的标题。
现在我的文件如下:
TYPE System.Data.DataRow
代码,“订单”,“价格”
product1,“ 1”,“ 207,75”
product2,“ 1”,“ 95,24”
我希望它看起来像这样:
product1; 1; 207,7
product2; 1; 95,24
我的代码:
$VAR1 = "select [product], [order], [price] from TABLE1
$VAR2 = Invoke-Sqlcmd -Query $VAR1 -serverinstance SERVER1
$Result | Export-Csv -path C:\test55.csv
答案 0 :(得分:1)
您可以使用TYPE
上的-NoTypeInformation
开关删除Export-CSV
标题行。
我认为您不能关闭语音标记,但是如果您的数据值之一包含逗号,它们将非常有用。如果您在Excel中打开CSV,则语音标记将不可见,因此阅读CSV的内容会很荣幸。如果您想删除它们,则可以执行-replace
来删除,但是冒着删除它们在数据中的位置的风险。
如果要删除标题行,可以使用ConvertTo-CSV
,然后使用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