Поиск…


Основное использование Import-Csv

Учитывая следующий CSV-файл

String,DateTime,Integer
First,2016-12-01T12:00:00,30
Second,2015-12-01T12:00:00,20
Third,2015-12-01T12:00:00,20

Можно импортировать CSV-строки в объекты PowerShell с помощью команды Import-Csv

> $listOfRows = Import-Csv .\example.csv
> $listOfRows

String DateTime            Integer
------ --------            -------
First  2016-12-01T12:00:00 30     
Second 2015-11-03T13:00:00 20     
Third  2015-12-05T14:00:00 20 

> Write-Host $row[0].String1
Third

Импорт из CSV и свойств литья для исправления типа

По умолчанию Import-CSV импортирует все значения в виде строк, поэтому для получения объектов DateTime- и integer-объектов нам нужно их отбирать или анализировать.

Использование Foreach-Object :

> $listOfRows = Import-Csv .\example.csv
> $listOfRows | ForEach-Object {
    #Cast properties
    $_.DateTime = [datetime]$_.DateTime
    $_.Integer = [int]$_.Integer

    #Output object
    $_
}

Использование рассчитанных свойств:

> $listOfRows = Import-Csv .\example.csv
> $listOfRows | Select-Object String,
    @{name="DateTime";expression={ [datetime]$_.DateTime }},
    @{name="Integer";expression={ [int]$_.Integer }}

Выход:

String DateTime            Integer
------ --------            -------
First  01.12.2016 12:00:00      30
Second 03.11.2015 13:00:00      20
Third  05.12.2015 14:00:00      20


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow