1

私はこのコードを持っています

function get-data()
{
   $rec=[PSCustomObject]@()
   $DLGP = "" | Select "Name","Grade","Score"

   foreach($record in $data) 
   {
       $DLGP.Name=$record.name
       $DLGP.Grade=$record.grade
       $DLGP.Score=$record.score
       $rec += $DLGP
   }
   return $rec
}

$mydata=get-data
$mydata | Export-Csv -Path $outputPath -NoTypeInformation

問題は、データが $rec に追加した順序でエクスポートされないことです

追加された順序でエクスポートするにはどうすればよいですか?

4

2 に答える 2

3

関数を使用しなくても、単純な

$mydata = $data | select Name,Grade,Score

望ましい結果が得られます。

あなたの関数は IMO 複雑すぎます:

$Data = @"
Name,Grade,Score,Dummy
Anthoni,A,10,v
Brandon,B,20,x
Christian,C,30,y
David,D,40,z
"@ | ConvertFrom-Csv

function get-data() {
   ForEach($record in $data) {
       [PSCustomObject]@{
           Name =$record.name
           Grade=$record.grade
           Score=$record.score
       }
   }
}

$mydata=get-data
$mydata # | Export-Csv -Path $outputPath -NoTypeInformation

ここではまったく同じ順序を返します。

Name      Grade Score
----      ----- -----
Anthoni   A     10
Brandon   B     20
Christian C     30
David     D     40
于 2018-06-30T07:16:02.300 に答える