Вот более краткий способ, как это сделать. Тем не менее, он по-прежнему не добавляет запятые, когда элемент отсутствует.

я есть следующие файлы CSV, я хочу объединить их в один CSV

01.csv

apples,48,12,7
pear,17,16,2
orange,22,6,1

02.csv

apples,51,8,6
grape,87,42,12
pear,22,3,7

03.csv

apples,11,12,13
grape,81,5,8
pear,11,5,6

04.csv

apples,14,12,8
orange,5,7,9

Желаемый вывод:

apples,48,12,7,51,8,6,11,12,13,14,12,8
grape,,,87,42,12,81,5,8,,,
pear,17,16,2,22,3,7,11,5,6,,,
orange,22,6,1,,,,,,5,7,9

Кто-нибудь может дать руководство о том, как этого добиться? Желательно использовать Powershell, но открывайте альтернативы, такие как Perl, если это проще.

Спасибо Pantik, вывод вашего кода близок к тому, что я хочу:

apples,48,12,7,51,8,6,11,12,13,14,12,8
grape,87,42,12,81,5,8
orange,22,6,1,5,7,9
pear,17,16,2,22,3,7,11,5,6

К сожалению, мне нужны запятые "заполнителя", когда запись НЕ присутствует в файле CSV, например, оранжевый, 22,6,1 ,,,,,, 5,7,9, а не оранжевый, 22,6,1,5,7,9

ОБНОВЛЕНИЕ: я хотел бы, чтобы они были проанализированы в порядке имен файлов, например:

$myFiles = @(gci *.csv) | sort Name
foreach ($file in $myFiles){

С уважением, Тед

Ответы на вопрос(6)

Ваш ответ на вопрос