Joh*_*han 0 csv powershell split
我有一个CSV文件,看起来像这样:
Column1,Column2,Column3
John,Smith,"AA, AH, CA, NI, PB"
Reginald,Higginsworth,"AA, AH, CA, NI, PB, SN, ZS"
Run Code Online (Sandbox Code Playgroud)
您会注意到其中有多个值Column3(括在引号中).我需要做的是在CSV中为每个值生成一行数据Column3,即文件需要看起来像:
Column1,Column2,Column3
John,Smith,AA
John,Smith,AH
John,Smith,CA
John,Smith,NI
John,Smith,PB
Reginald,Higginsworth,AA
Reginald,Higginsworth,AH
Reginald,Higginsworth,CA
Reginald,Higginsworth,NI
Reginald,Higginsworth,PB
Reginald,Higginsworth,SN
Reginald,Higginsworth,ZS
Run Code Online (Sandbox Code Playgroud)
我在这方面已经进行了多次尝试,似乎无法做到正确.
使用Import-Csv来读取输入文件,然后分裂的第三列,并为各所得元件新输出线:
Import-Csv 'C:\path\to\input.csv' | ForEach-Object {
foreach ($value in ($_.Column3 -split ', ')) {
$_ | Select-Object -Exclude Column3 -Property *,@{n='Column3';e={$value}}
}
} | Export-Csv 'C:\path\to\output.csv' -NoType
Run Code Online (Sandbox Code Playgroud)
该Select-Object构造使用仅包含单个值Column3的新属性替换现有属性Column3.
| 归档时间: |
|
| 查看次数: |
1626 次 |
| 最近记录: |