4

オブジェクトからの空白/空のプロパティのリストを含めるように更新されました

タイトルについて申し訳ありませんが、この質問にラベルを付ける方法がわかりません。Key をヘッダー/プロパティ、Value をヘッダー/プロパティの値として Dictionary オブジェクトのリストを表現したいと考えています。

たとえば、次の PoSH コードを見てください。

$obj1 = new-object object | select Data; $obj1.Data = @{"header1"="Value1";"header2"="Value2";}
$obj2 = new-object object | select Data; $obj2.Data = @{"header1"="ValueA";"header2"="ValueB";}
$obj3 = new-object object | select Data; $obj3.Data = @{"header1"="Value1";"header3"="ValueC";}

$tmp = @($obj1,$obj2,$obj3)

$tmp次に、次のようになります。

Data                       
----                        
{header2, header1}
{header2, header1}
{header3, header1}

$tmp | select -Expand Data次の有用な情報を取得します

Name                           Value   
----                           -----       
header2                        Value2
header1                        Value1
header2                        ValueB
header1                        ValueA
header3                        ValueC
header1                        Value1

とにかく、データをピボットして、名前をプロパティ (またはヘッダー) に変換し、それらを値で表現できます。

header1                        header2               header3
----                           -----                 -----
Value1                         ValueB
ValueA                         Value2
Value1                                               ValueC

注: Dictionary リスト内の各オブジェクトを取得し、新しいオブジェクトを作成し、Add-Member を介してプロパティを追加する関数を作成することでこれを行うことができましたが、何千ものエントリがあり、何千もの辞書キー

4

2 に答える 2

5

Powershell v2 new-object にはproperty、キーがプロパティの名前で、値がプロパティ値であるハッシュ テーブルを入力できるパラメーターがあります。

$tmp | select -expand data | %{new-object psobject -property $_}

与えます:

header2                                                     header1
-------                                                     -------
Value2                                                      Value1
ValueB                                                      ValueA
于 2013-08-28T18:41:43.613 に答える
1

これはどうですか :

$tmp | % {"header1,header2"}{$_.data.header1+","+$_.data.header2} | ConvertFrom-Csv

それは与えます :

header1                                                                    header2
-------                                                                    -------
Value1                                                                     Value2
ValueA                                                                     ValueB
于 2013-08-28T18:17:16.797 に答える