Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Csv Powershell分散并操作数据_Csv_Powershell - Fatal编程技术网

Csv Powershell分散并操作数据

Csv Powershell分散并操作数据,csv,powershell,Csv,Powershell,我有一个大约3000行的半小csv文件。下面是CSV中数据的示例。我想使用powershell(拆分)重新排列CSV,而不是创建透视表来操作数据 DS12345;Group 1, Group 2, Group 3, Group 4 DB09876;Group 1, Group 2, Group 3 AB01020;Group 9, Group 8 我想扫描原始CSV,然后在我的桌面上创建一个新的CSV文件,数据如下所示,在一行上用标识符(第一列)分组(第二列)。数据将已在CS

我有一个大约3000行的半小csv文件。下面是CSV中数据的示例。我想使用powershell(拆分)重新排列CSV,而不是创建透视表来操作数据

   DS12345;Group 1, Group 2, Group 3, Group 4
   DB09876;Group 1, Group 2, Group 3
   AB01020;Group 9, Group 8
我想扫描原始CSV,然后在我的桌面上创建一个新的CSV文件,数据如下所示,在一行上用标识符(第一列)分组(第二列)。数据将已在CSV中排序

   DS12345;Group 1
   DS12345;Group 2
   DS12345;Group 3
   DS12345;Group 4
   BD09876;Group 1
   BD09876;Group 2
   BD09876;Group 3
   AB01020;Group 9
   AB01020;Group 8

只需将每一行分成两段,如下所示:

Get-Content InputFile.csv | % {
    $a = $_ -split ';'
    $a[1] -split ',\s*' | % {
        "$($a[0]);$($_)"
    }
} | Set-Content OutputFile.csv

几乎成功了。对于上述代码,如果分配了多个组,则仅分配第一个变量

乙二醇

将是

     DS12345;Group 1
不像我希望的那样

    DS12345;Group 1
    DS12345;Group 2
    DS12345;Group 3
    DS12345;Group 4
    DS12345;Group 1
    DS12345;Group 2
    DS12345;Group 3
    DS12345;Group 4