Powershell溢出并操纵数据

时间:2016-03-10 22:20:02

标签: csv powershell

我有一个半小的csv文件,大约有3000行。以下是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

2 个答案:

答案 0 :(得分:0)

只需使用几个分割来切断每一行,如下所示:

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

答案 1 :(得分:-1)

几乎可以解决问题。使用上面的代码,如果分配了多个组,它只分配第一个变量

例如

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

将是

     DS12345;Group 1

不是我希望

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