Как извлечь определенные поля из файла CSV с данными с помощью PowerShell - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь извлечь определенные поля с данными из файла CSV, но когда я запускаю следующий скрипт, я получаю только поля без данных.

Пробовал скрипт PowerShell и получалфайл, но он пуст.

$folderPath = 'D:\Data\Orignal\'
$folderPathDest = 'D:\Data\New\'
$desiredColumns = 'ID','TC', 'POINTS_AT','POINTS_DESC','SURVEYSENT'

Get-ChildItem $folderPath -Name | ForEach-Object { 
    $filePath = $folderPath + $_
    $filePathdest = $folderPathDest + $_

    Import-Csv $filePath |
        Select $desiredColumns |
        Export-Csv -Path $filePathDest -NoTypeInformation
}

Я ожидаю, что данные также должны быть экспортированы с полями!

Вот пример данных, откуда я пытаюсь извлечь поля.Это образец файла, у меня большой дамп.

ID;TC;POINTS_AT;POINTS_DESC;SURVEYSENT;STATUSCHECK;MEM_REQ;EXPIRY_DAT
1;true;5;SUBS;true;08.08.2018;true;20.12.2020
2;true;3;SUBS;true;08.08.2018;true;20.12.2020
3;false;2;SUBS;true;08.08.2018;false;20.12.2020
4;true;5;UNSUBS;true;08.08.2018;false;20.12.2020
5;true;1;UNSUBS;true;08.08.2018;true;20.12.2020
6;false;1;UNSUBS;true;08.08.2018;true;20.12.2020

1 Ответ

0 голосов
/ 11 июня 2019

Определите ; как разделитель при вызове Import-Csv.Разделитель по умолчанию - ,, поэтому командлет не сможет разделить разные столбцы.Исходя из этого, Select-Object не найдет данные свойства и вернет объекты с пустыми свойствами.

Import-Csv :

Разделитель

Указывает разделитель, который разделяет значения свойств в файле CSV.По умолчанию используется запятая (,).

Введите символ, например двоеточие (:).Чтобы указать точку с запятой (;), заключите ее в одинарные кавычки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...