Как найти заголовок заголовка сопоставленного значения из файла CSV в PowerShell? [dубликат]

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

Например:

$path = "d:\scratch\export.csv"
$csv = Import-csv -path $path

foreach($line in $csv)
{ 
    foreach ($head in $line | get-member | where-object {$_.MemberType -eq "NoteProperty"} | select Definition)
    {
        #pseudocode...
        doSomething($head.columnName, $head.value)
    }

}

Как прокручивать строку в файле csv, получая имя столбца и значение? Или есть другой способ, которым я должен это делать (например, не используя Import-csv)?

16
задан 9 August 2012 в 19:04

2 ответа

[F1]
0
ответ дан 15 August 2018 в 16:16

Немного другой способ итерации по каждому столбцу каждой строки CSV-файла будет

$path = "d:\scratch\export.csv"
$csv = Import-Csv -path $path

foreach($line in $csv)
{ 
    $properties = $line | Get-Member -MemberType Properties
    for($i=0; $i -lt $properties.Count;$i++)
    {
        $column = $properties[$i]
        $columnvalue = $line | Select -ExpandProperty $column.Name

        # doSomething $column.Name $columnvalue 
        # doSomething $i $columnvalue 
    }
} 

, поэтому у вас есть выбор: вы можете использовать либо $column.Name, чтобы получить имя столбец или $i, чтобы получить номер столбца

9
ответ дан 15 August 2018 в 16:16

Другие вопросы по тегам:

Похожие вопросы: