我有一个半小的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
答案 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