【发布时间】:2016-06-05 05:24:17
【问题描述】:
大家好,如果之前已经回答过这个问题,我深表歉意。 我对 powershell 很陌生,需要一些指导。
我们有一个 MSSQL 服务器运行一个存储过程来生成一个 .csv 日志 然后通过 NXlog 获取此日志并转发到我们的日志服务器。
问题是其中一个字段包含多行查询,需要减少到单行
例如 当前格式
第 1 列|第 2 列|
列
3
| 第四栏
要求的格式
Column1|Column2|Column3|Column4
我目前正在使用以下内容,但现在幸运的是所需的格式
$csv = 'C:\Users\user\Documents\input.csv'
foreach ($csv_file in gci C:\Users\user\Documents\input.csv) {
$csv1 = Import-csv $csv
$props = $csv[0].psobject.properties | select -expand name
$csv1 |
foreach {
foreach ($prop in $props){
$_.$prop = $_.$prop -replace "`s`r`n`t",' '
}
}
$csv1 | export-csv C:\Users\user\Documents\output.csv -NoTypeInformation
}
我相信新行在 sql 中使用 char13。如果需要,我可以提供一个示例 csv
如果能帮助我找到正确的方向,我们将不胜感激
谢谢
【问题讨论】:
-
-replace '\r?\n',' '
标签: sql csv powershell