我通过子串读取一个包含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
答案 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指定制表符分隔符。