Манипулировать значением CSV без знания имен столбцов [дубликат]

Строка string может быть удобной, если вам нужно проанализировать строку непространственными символами:

string s = "Name:JAck; Spouse:Susan; ...";
string dummy, name, spouse;

istringstream iss(s);
getline(iss, dummy, ':');
getline(iss, name, ';');
getline(iss, dummy, ':');
getline(iss, spouse, ';')

16
задан simon 9 August 2012 в 15:04
поделиться

3 ответа

Import-Csv $path | Foreach-Object { 

    foreach ($property in $_.PSObject.Properties)
    {
        doSomething $property.Name, $property.Value
    } 

}
22
ответ дан Shay Levy 26 August 2018 в 04:28
поделиться
$header3 = @("Field_1","Field_2","Field_3","Field_4","Field_5")     

Import-Csv $fileName -Header $header3 -Delimiter "`t" | select -skip 3 | Foreach-Object {

    $record = $indexName 
    foreach ($property in $_.PSObject.Properties){

        #doSomething $property.Name, $property.Value

            if($property.Name -like '*TextWrittenAsNumber*'){

                $record = $record + "," + '"' + $property.Value + '"' 
            }
            else{
                $record = $record + "," + $property.Value 
            }                           
    }               

        $array.add($record) | out-null  
        #write-host $record                         
}
0
ответ дан user3100105 26 August 2018 в 04:28
поделиться

Несколько другой способ итерации по каждому столбцу каждой строки 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
ответ дан user4531 26 August 2018 в 04:28
поделиться