オブジェクトをcsv列でグループ化し、他の列から最大値を選択します

アレッサンドロ・ロ・ヴァルボ

もう一度あなたの助けが必要です。「Users」列でグループ化しようとしています。最大の「LastAccessTime」値と対応する「FullName」が表示されています。以下のMyCSV.csvには次のものが含まれています。

"Users"、 "FullName"、 "LastAccessTime" 
"user1"、 "c:\ felder1 \ Sub1"、 "20201203" 
"user1"、 "c:\ folder1 \ Sub1a"、 "20201223" 
"user1"、 "c: \ folder1 \ Sub1b "、" 202011123 " 
" user2 "、" c:\ folder2 \ Sub2 "、" 20201218 " 
" user2 "、" c:\ folder2 \ Sub2a "、" 20201228 " 
" user3 "、" c:\ folder3 \ Sub3 "、" 20201212 " 
" user3 "、" c:\ folder3 \ Sub3a "、" 20201214 " 
" user3 "、" c:\ folder3 \ Sub3b "、" 20201215 " 
" user3 "、" c:\ folder3 \ Sub3c "、" 20201011 "

「FullName」が一致する場合は最初の行のみを参照することを除いて、このコードで機能します。 $_.Group[0].FullName

Import-Csv -Path "$Env:USERPROFILE\Desktop\MyCSV.csv" |
Group-Object Users |
ForEach-Object {
        New-Object -TypeName psobject -Property ([ordered]@{
        User = $_.Group[0].Users
        FullName = $_.Group[0].FullName
        "LastAccessTime" = $_.Group | Measure-Object -Property "LastAccessTime" -Maximum | ForEach-Object { $_.Maximum } } )

} | Export-Csv "$Env:USERPROFILE\Desktop\result.csv" -NoTypeInformation

実際の結果は次のとおりです。

"User"、 "FullName"、 "LastAccessTime" 
"user1"、 "c:\ felder1 \ Sub1"、 "20201223" 
"user2"、 "c:\ folder2 \ Sub2"、 "20201228" 
"user3"、 "c: \ folder3 \ Sub3 "、" 20201215 "

しかし、私はそれがそうであったことを望みます:

"User"、 "FullName"、 "LastAccessTime" 
"user1"、 "c:\ felder1 \ Sub1"、 "20201223" 
"user2"、 "c:\ folder2 \ Sub2a"、 "20201228" 
"user3"、 "c: \ folder3 \ Sub3b "、" 20201215 "

何を変更すればよいですか?

ダグメイソン

あなたはそのようにあなたのこの質問受け入れられた答え調整することができます

$properties = @{Name='User'; Expression={$user}},
              'FullName',
              @{Name='LastAccessTime'; Expression={$_.LastAccessTime.ToString('yyyyMMdd')}}

Import-Csv $HomeDir | ForEach-Object {
    $user = $_.users
    Get-ChildItem $_.HomeDir -ErrorAction SilentlyContinue | 
        Where-Object {$_.PSIsContainer -eq "True"} | 
            Select-Object $properties |
                Sort-Object -Descending -Property LastAccessTime |
                    Select-Object -First 1
} | Export-Csv $newcsv -NoTypeInformation

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PowerShellでCSVからオブジェクトをグループ化して選択します

分類Dev

配列オブジェクトを値でグループ化します-javascript

分類Dev

オブジェクトの配列を並べ替えてから、IDでグループ化します(JavaScript)

分類Dev

JavaScriptの文字列の配列からグループ化されたオブジェクトを作成します

分類Dev

オブジェクトの配列からVuetifyリストアイテムグループのチェックボックスを事前に選択します

分類Dev

AngularJSでオブジェクトの配列をグループ化します

分類Dev

オブジェクトの配列から値をグループ化して合計する方法は?

分類Dev

JavaScript:オブジェクトからキーと値のペアを抽出し、それらをオブジェクトの配列にグループ化する

分類Dev

指定されたプロパティの値をオブジェクトから配列に選択します

分類Dev

オブジェクトの配列リストをグループ化し、Javaでグループごとの最大値を取得する

分類Dev

配列オブジェクトを2つの要素と合計値でグループ化します(Javascript)

分類Dev

配列内の複数のプロパティでオブジェクトをグループ化し、それらの値を合計します

分類Dev

オブジェクトの配列から再帰的に1つのフィールドを選択します

分類Dev

選択したJSONオブジェクトをJSON文字列から逆シリアル化します

分類Dev

pandasgroupbyオブジェクトから複数のグループを選択します

分類Dev

オブジェクトのJSON配列。オブジェクトの値を名前でグループ化します

分類Dev

Mysql は 2 つの列でグループ化し、3 番目の列の最大値を選択します

分類Dev

オブジェクトの配列から特定のオブジェクトを選択しますjQuery

分類Dev

オブジェクトタイプ列SQLから文字列の一部を選択します

分類Dev

オブジェクトの各配列から最大値を取得します

分類Dev

パンダは2列でグループ化し、3列目の最大値を選択します

分類Dev

オブジェクト配列内の重複をカウントし、配列またはオブジェクトキーでグループ化します

分類Dev

オブジェクト配列内の重複をカウントし、配列またはオブジェクトキーでグループ化します

分類Dev

複数のテーブルから列の合計を選択し、IDでグループ化します

分類Dev

オブジェクトを配列に格納し、PHPで同じ値を持つすべての配列をグループ化します

分類Dev

jq:オブジェクト/埋め込み配列から値を選択してCSVを形成する

分類Dev

角度のあるオブジェクトの配列から特定のプロパティを選択します

分類Dev

オブジェクトの配列から特定のプロパティのみを選択します

分類Dev

SQLは、データベースから最大値の行を選択し、2列でグループ化します

Related 関連記事

  1. 1

    PowerShellでCSVからオブジェクトをグループ化して選択します

  2. 2

    配列オブジェクトを値でグループ化します-javascript

  3. 3

    オブジェクトの配列を並べ替えてから、IDでグループ化します(JavaScript)

  4. 4

    JavaScriptの文字列の配列からグループ化されたオブジェクトを作成します

  5. 5

    オブジェクトの配列からVuetifyリストアイテムグループのチェックボックスを事前に選択します

  6. 6

    AngularJSでオブジェクトの配列をグループ化します

  7. 7

    オブジェクトの配列から値をグループ化して合計する方法は?

  8. 8

    JavaScript:オブジェクトからキーと値のペアを抽出し、それらをオブジェクトの配列にグループ化する

  9. 9

    指定されたプロパティの値をオブジェクトから配列に選択します

  10. 10

    オブジェクトの配列リストをグループ化し、Javaでグループごとの最大値を取得する

  11. 11

    配列オブジェクトを2つの要素と合計値でグループ化します(Javascript)

  12. 12

    配列内の複数のプロパティでオブジェクトをグループ化し、それらの値を合計します

  13. 13

    オブジェクトの配列から再帰的に1つのフィールドを選択します

  14. 14

    選択したJSONオブジェクトをJSON文字列から逆シリアル化します

  15. 15

    pandasgroupbyオブジェクトから複数のグループを選択します

  16. 16

    オブジェクトのJSON配列。オブジェクトの値を名前でグループ化します

  17. 17

    Mysql は 2 つの列でグループ化し、3 番目の列の最大値を選択します

  18. 18

    オブジェクトの配列から特定のオブジェクトを選択しますjQuery

  19. 19

    オブジェクトタイプ列SQLから文字列の一部を選択します

  20. 20

    オブジェクトの各配列から最大値を取得します

  21. 21

    パンダは2列でグループ化し、3列目の最大値を選択します

  22. 22

    オブジェクト配列内の重複をカウントし、配列またはオブジェクトキーでグループ化します

  23. 23

    オブジェクト配列内の重複をカウントし、配列またはオブジェクトキーでグループ化します

  24. 24

    複数のテーブルから列の合計を選択し、IDでグループ化します

  25. 25

    オブジェクトを配列に格納し、PHPで同じ値を持つすべての配列をグループ化します

  26. 26

    jq:オブジェクト/埋め込み配列から値を選択してCSVを形成する

  27. 27

    角度のあるオブジェクトの配列から特定のプロパティを選択します

  28. 28

    オブジェクトの配列から特定のプロパティのみを選択します

  29. 29

    SQLは、データベースから最大値の行を選択し、2列でグループ化します

ホットタグ

アーカイブ