0

我正在使用 PowerShell 执行此任务,并且希望将从第 2 列开始的任何列的值移动到他们自己的行。我有一个类似这样的 CSV 文件:

红、蓝、黄
红色的
红蓝

我想实现以下

红色的
蓝色的
黄色
红色的
红色的
蓝色的

我不知道在任何给定的 CSV 文件中有多少可能的列,但最终结果是每列中的所有值都在各自的行中。

我正在考虑使用Import-Csvcmdlet,Select-Object但无法弄清楚。

4

1 回答 1

3

使用您当前显示的示例数据,然后:

$out = New-Object System.Collections.Arraylist
Get-Content C:\Path\To\InputFile.txt | %{$out.AddRange(($_ -split ','))}
$out | Set-Content C:\Path\To\OutputFile.txt

我习惯性地将列表放在一起,因为我几乎总是计划以某种方式处理列表。在这种情况下,如果您只是想要一个新文件,则不需要该列表:

(Get-Content input.txt) -split ',' | Set-Content output.txt
于 2018-04-05T15:52:40.757 回答