我目前正在使用下面找到的代码将2列合并为一个新列。问题是当我导出csv时,列的排列顺序不符合我在下面列出的顺序。如何将列按所需顺序排序?
谢谢
$objs =@();
$output = Import-csv -Path C:\Users\Dan\Desktop\External_ID_Test.csv | ForEach {
$Object = New-Object PSObject -Property @{
Employee_ID = $_.Employye_ID
Base_Cost_Center = $_.Base_Cost_Center
Entity = $_.Entity
ExternalID = [String]::Concat($_.Entity,$_.Base_Cost_Center)
}
$objs += $Object;
}
$objs
$objs | Export-CSv C:\Users\Dan\Desktop\Export_External_ID_Test.csv -NoTypeInformation
答案 0 :(得分:0)
您正在将ForEach-Object
的输出分配给变量$Output
,但是什么都不输出。
使用有序的[PSCustomObject]
并避免使用+=
来简化脚本,该脚本将在每次迭代时重建数组$objs
。
$output = Import-csv -Path C:\Users\Dan\Desktop\External_ID_Test.csv | ForEach-Object {
[PSCustomObject]{
Employee_ID = $_.Employye_ID
Base_Cost_Center = $_.Base_Cost_Center
Entity = $_.Entity
ExternalID = [String]::Concat($_.Entity,$_.Base_Cost_Center)
}
}
$output
$output | Export-CSv C:\Users\Dan\Desktop\Export_External_ID_Test.csv -NoTypeInformation