i have sample.txt in table format
Testing line1 in file
DATE M MA S FD FU PE SS AS NO OO CD
05/31/23 FM 0 000 Account name 1 403 30.75 0.000 0.00 0 0 2
04/31/23 FM 0 000 Account name 2 403 30.75 0.000 0.00 0 0 2
03/31/23 FM 0 000 Account name 3 403 30.75 0.000 0.00 0 0 2
i want to convert this file into csv file and skip 2 rows and make changes like this by adding new column
FINAL_OUTPUT.csv
"DATE","PE","SS","AS","NO","OO","CD","Name","data"
"May","30.75","0.000","0.00","0","0","2","FM,0,000,Account name 1,403","data1"
"April","30.75","0.000","0.00","0","0","2","FM,0,000,Account name 2,403","data1"
"March","30.75","0.000","0.00","0","0","2","FM,0,000,Account name 3,403","data1"
so far i have tried this code
$data = format-table 'E:\sample.txt' |
Select-Object -Skip 2 |
Out-String |
ConvertFrom-StringData
[PSCustomObject]$data | Export-Csv 'E:\out1.txt' -NoType
$tempcsv=import-csv -path E:\out1.txt -Header
"DATE”,”M”,”MA”,”S”,”FD”,”FU”,”PE”,”SS”,”AS”,”NO “,“OO”,”CD”| select -skip 2
$tempcsv | select DATE,M,MA, S ,FD,FU,PE,SS ,AS,NO,OO,CD| Group-Object M,MA,S,FD,FU|
select Name,
@{ Name = 'PE'; Expression = { ($_.Group | Measure-Object -Property PE -Sum).Sum } },
@{ Name = 'SS'; Expression = { ($_.Group | Measure-Object -Property SS -Sum).Sum } },
@{ Name = 'AS'; Expression = { ($_.Group | Measure-Object -Property AS -Sum).Sum } },
@{ Name = 'NO'; Expression = { ($_.Group | Measure-Object -Property NO -Sum).Sum } },
@{ Name = 'OO'; Expression = { ($_.Group | Measure-Object -Property OO -Sum).Sum } },
@{ Name = 'CD'; Expression = { ($_.Group | Measure-Object -Property CD -Sum).Sum } }|
EXPORT-CSV -path E:\FINAL_OUTPUT.txt
Write-host "FINAL FILE converSion completed"