2016-08-05 59 views
2

我正在通過子字符串讀取4000行的固定寬度文件,並將每個子字符串分配給csv中的標題。但我不知道如何保存csv。Powershell - CSV - Header - 保存

一個例子行正在讀:

$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 
+0

[Export-Csv](https://technet.microsoft.com/library/hh849932.aspx) – lloyd

回答

1

有一個Export-Csv的cmdlet:

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 

注:你可能需要指定Export-Csv製表符小命令。

+0

我應該輸入到Export-csv的內容是什麼?另一個需要注意的是,我不能使用散列表向csv添加行,因爲我已經複製了密鑰。 – skrubber

+0

只需向我們展示您的文件(僅舉幾個例子)和您期望的輸出。然後我們可以幫助你。 –

+0

請看最新的問題 – skrubber