Powershell 使用新行对csv进行排序
我得到了用户和工作站的报告。现在,如果一个用户有几个工作站,我希望为他的每个工作站都有一条单独的线路。始终使用名称、Surename和工作站。最后,应将其导出为report-new.csv CSV:Powershell 使用新行对csv进行排序,powershell,csv,sorting,format,Powershell,Csv,Sorting,Format,我得到了用户和工作站的报告。现在,如果一个用户有几个工作站,我希望为他的每个工作站都有一条单独的线路。始终使用名称、Surename和工作站。最后,应将其导出为report-new.csv CSV: "Name","Surname","Workstation" "John","Doe","PC001,PC005,PC100" "Fonzarelli","Arthur","PC234,PC324" "Tribbiani","Joey","PC999" $report = Import-Csv "
"Name","Surname","Workstation"
"John","Doe","PC001,PC005,PC100"
"Fonzarelli","Arthur","PC234,PC324"
"Tribbiani","Joey","PC999"
$report = Import-Csv "C:\Scripts\report.csv"
Foreach ($wst in $report) {
If ($wst.Workstation -match ",") {
New Line foreach Workstation? Export-Csv "C:\Scripts\report-new.csv" -NoTypeInformation
}
}
脚本:
"Name","Surname","Workstation"
"John","Doe","PC001,PC005,PC100"
"Fonzarelli","Arthur","PC234,PC324"
"Tribbiani","Joey","PC999"
$report = Import-Csv "C:\Scripts\report.csv"
Foreach ($wst in $report) {
If ($wst.Workstation -match ",") {
New Line foreach Workstation? Export-Csv "C:\Scripts\report-new.csv" -NoTypeInformation
}
}
您可以用逗号拆分工作站
属性,并使用换行符将其连接在一起。例如:
$report = Import-Csv "C:\Scripts\report.csv"
Foreach ($wst in $report) {
($wst.Workstation -split ',') -join [System.Environment]::NewLine
}
结果:
Name Surname Workstation
---- ------- -----------
John Doe PC001
John Doe PC005
John Doe PC100
Fonzarelli Arthur PC234
Fonzarelli Arthur PC324
Tribbiani Joey PC999
谢谢你的提示,马丁。我只是编辑我的问题。它应该始终具有相同的方案:名称、Surename、工作站。如果要将其导出回CSV,则不能将每个工作站放到新行,因为新行表示CSV中的新记录。