2015-07-17 4 views
0

Недавно я создал простой скрипт, который импортирует исходный CSV-файл и создает новый столбец с помощью функции Add-Member, а затем вставляет данные из целевого файла CSV в указанный столбец, который затем экспортирует в новый файл. Мои примеры данных этого, как так:Объединение двух CSV-файлов в один CSV

ПРИМЕЧАНИЕ: Это провал на Powershell v1.0

Источник CSV:

File Path 
C:\Users\User\Documents - Filetype: xlsx 
C:\Users\User\Documents - Filetype: docx 
C:\Users\User\Documents - Filetype: pdf 

Цель CSV:

File Count 
    0 
    1 
    2 

Outco мне CSV:

File Path 
C:\Users\User\Documents - Filetype: xlsx 
C:\Users\User\Documents - Filetype: docx 
C:\Users\User\Documents - Filetype: pdf 

Кроме выше, не желаемого результата я после. Вот мой код в настоящее время, мне нужно это для работы на Powershell v1.0, в настоящее время это не так, оно работает на версии 2.0 и выше. Вот мой код и желаемый результат:

$source = Import-Csv -Path "C:\Support\Path_Filetype.csv" 
$target = Import-Csv -Path "C:\Support\Count.csv" 
$source | % {$i=0} { 
    $source[$i] | Add-Member Name 'File Count' Value $target[$i++]."File Count"; 
} 
$source | Export-Csv "C:\Support\Path_Count.csv" -NoTypeInformation 

желаемого результата CSV:

File Path          File Count 
C:\Users\User\Documents - Filetype: xlsx    0 
C:\Users\User\Documents - Filetype: docx    1 
C:\Users\User\Documents - Filetype: pdf    2 
+0

Вы должны перейти на PowerShell v2 (или, если возможно, новее). Все версии Windows, все еще поддерживаемые Microsoft, могут работать как минимум с версией 2. –

ответ

0

С помощью следующего кода - Это позволит получить желаемые результаты, которые вы хотите, как это имеет для себя.

$input1 = Import-Csv -Path "C:\temp\test.txt" 
$input2 = Import-Csv -Path "C:\Support\Count.csv" 

$list = for ($i=0; $i -lt $input1.Count; $i++) { 
     New-Object -Type PSCustomObject -Property @{ 
     'File Path' = $input1[$i] 
     'File Count' = $input2[$i] 
     } 
    } 

$list | Export-Csv "C:\Support\Count.csv" -NoType 
Смежные вопросы