Powershell - CSV - 标题 - 保存

时间:2016-08-05 06:02:04

标签: csv powershell

我通过子串读取一个包含4000行的固定宽度文件,并将每个子字符串分配给csv中的标头。但我不确定如何保存csv。

正在阅读的一个示例行:

$line = ABC       7112123207/24/16Smith                              Timpson                            Head Coach                                                            412-222-0000        00011848660    ELl CAAN HIGH SCHOOL                  325 N Peal AVE.                   Smith                         Timpson                       Head Coach                              COLORADO CITY            AZ 86021       01             FALL      MALE      07/29/16EQ15031                  1977904        BUDDY'S ALL STARS INC.                  BUDDY ALL STARS                                                                                                                             N                 V12V70R16                                1.00V12V70R16                         

我带有标题的csv。

$csvheaders = import-csv temp.csv 

foreach ($Line in (Get-Content $FILE.FullName))
{     
    foreach($csh in $csvheaders)
    {
        $csh.GROUP = $line.Substring(0,10).Trim() 
        $csh.NUMBER = $line.Substring(10,8).Trim()        
        $csh.DATE=$line.Substring(18,8).Trim()
        $csh.CONTACT_FIRST=$line.Substring(26,35).Trim()
        $csh.CONTACT_LAST=$line.Substring(61,35).Trim()
    }
}

我需要csv输出为:

Group      Number     Date       Contact_First   Contact_Last 
ABC        71121232   07/24/16   Smith           Timpson

1 个答案:

答案 0 :(得分:1)

有一个Export-Csv cmdlet:

MYSQL

注意:您可能需要为Get-Content $FILE.FullName | ForEach-Object { [PSCustomObject]@{ Group = $_.Substring(0,10).Trim() Number = $_.Substring(10,8).Trim() Date = $_.Substring(18,8).Trim() Contact_First = $_.Substring(26,35).Trim() Contact_Last = $_.Substring(61,35).Trim() } } | Export-Csv -Path 'Your_Output_Path.csv' -NoTypeInformation cmdlet指定制表符分隔符。