PowerShell:导入带有特定标题的CSV,导出带有不同标题的CSV

2jcobegt  于 12个月前  发布在  Shell
关注(0)|答案(1)|浏览(94)

我有一个源CSV没有标题,我导入,为了分裂成多个CSV的。我使用带有-Headers标志的Import-CSV来根据需要组织数据。然而,我有点不知道如何在导出到新的CSV时更改标题。代码在下面。输出的是在Import-CSV调用期间给出的头。

# Set variables
$csv_source = "\\firmname\dfs1\CMWS\CM.TXT"
$custom1_file = "C:\WSGEN\custom1.csv"
$custom2_file = "C:\WSGEN\custom2.csv"

#Import source CSV
$csv_orig_data = Import-CSV -Path $csv_source -Header 'C1ALIAS','C1DESCRIPT','C2ALIAS','C2DESCRIPT'

# Grab C1 columns
$c1data = $csv_orig_data | Select-Object C1ALIAS, C1DESCRIPT
$c1data | Add-Member -MemberType NoteProperty -Name "ENABLED" -Value "Y"
$c1data | Add-Member -MemberType NoteProperty -Name "HIPAA" -Value "N"
$c1data | Export-CSV -Path $custom1_file -NoTypeInformation -Delimiter '|'

# Grab C2 columns
$c2data = $csv_orig_data | Select-Object C2ALIAS, C2DESCRIPT, C1ALIAS
$c2data | Add-Member -MemberType NoteProperty -Name "ENABLED" -Value "Y"
$c2data | Add-Member -MemberType NoteProperty -Name "HIPAA" -Value "N"
$c1data | Export-CSV -Path $custom2_file -NoTypeInformation -Delimiter '|'
krugob8w

krugob8w1#

得到这个工作与下面的

# Set variables
$csv_source = "\\firmname\dfs1\CMWS\CM.TXT"
$custom1_file = "C:\WSGEN\custom1.csv"
$custom2_file = "C:\WSGEN\custom2.csv"

#Import source CSV
$csv_orig_data = Import-CSV -Path $csv_source -Header 'C1ALIAS','C1DESCRIPT','C2ALIAS','C2DESCRIPT'

# Grab C1 columns and export to new CSV
$c1data = $csv_orig_data | Select-Object C1ALIAS, C1DESCRIPT | Sort-Object * -Unique
$c1data | Add-Member -MemberType NoteProperty -Name "ENABLED" -Value "Y"
$c1data | Add-Member -MemberType NoteProperty -Name "HIPAA" -Value "N"
$c1data | Select-Object @{Name="ID";Expression={$_.C1ALIAS}}, @{Name="DESCRIPTION";Expression={$_.C1DESCRIPT}}, @{Name="ENABLED";Expression={$_.ENABLED}}, @{Name="HIPAA";Expression={$_.HIPAA}} | Export-CSV -Path $custom1_file -NoTypeInformation -Delimiter '|'

# Grab C2 columns and export to new CSV
$c2data = $csv_orig_data | Select-Object C2ALIAS, C2DESCRIPT, C1ALIAS
$c2data | Add-Member -MemberType NoteProperty -Name "ENABLED" -Value "Y"
$c2data | Add-Member -MemberType NoteProperty -Name "HIPAA" -Value "N"
$c2data | Select-Object @{Name="ID";Expression={$_.C2ALIAS}}, @{Name="DESCRIPTION";Expression={$_.C2DESCRIPT}}, @{Name="ENABLED";Expression={$_.ENABLED}}, @{Name="HIPAA";Expression={$_.HIPAA}}, @{Name="PARENTID";Expression={$_.C1ALIAS}} | Export-CSV -Path $custom2_file -NoTypeInformation -Delimiter '|'

相关问题