• ベストアンサー

powershellでcsvの集計

powershellでのcsvデータの集計をしたいのですが、 よくわからず困っています。 csvのデータは、 aaa1,10,10,20 bbb1,100,100,200 aaa1,5,5,6 ccc1,50,50,60 … となっており、キーとなる項目が同じものは、数値を集計して 再度csvにするというものです。(aaa1が同じなので集計) aaa1,15,15,26   bbb1,100,100,200 ccc1,50,50,60 … という感じです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kteds
  • ベストアンサー率42% (1876/4424)
回答No.1

質問にはファイル名や項目の定義が書いてないので、下記の通りであるものとします。 自分の環境に合わせてください。 csvファイル:test.csv 各項目を name,val1,val2,val3 とします。 $csvfile = import-csv e:\test-ps\test.csv $csvfile | group name | select name,@{Name="Totals";Expression={($_.group | Measure-Object -sum val1,val2,val3).sum}} 以上でname によるgroup集計は完了です。

okchipy777
質問者

お礼

回答案ありがとうございました。 試したところ、val1,val2,val3の連続は、うまくいかず(val1だけだとOK)、なので、@以降を3行書いて 対応しました。ありがとうございましいた。

関連するQ&A

  • PowerShellからPowerShellを呼び出す方法

    PowerShellからPowerShellを呼び出す方法 次のバッチファイルと同等の事をPowerShellで行う方法を教えて下さい。 下記のような非常に簡易的なバッチファイルがあるとします。 ■ aaa.bat ■ echo test ■ aaa.bat ■ ■ bbb.bat ■ aaa.bat > aaa.log ■ bbb.bat ■ ■ コマンドプロンプト ■ cmd> aaa.bat ・・・ 下に「test」と出力される test cmd> bbb.bat ・・・ ファイルaaa.logに「test」と出力される ■ コマンドプロンプト ■ 同じ事をPowerShellでするとすれば ■ aaa.ps1 ■ echo "test" ■ aaa.ps1 ■ ■ PowerShellの画面から ■ PS > ./aaa.ps1 ・・・ 下に「test」と出力される test PS > ./bbb.ps1 ・・・ ファイルaaa.logに「test」と出力される ■ PowerShellの画面から ■ この時の「bbb.ps1」はどのようになりますか?

  • powershellでcsvの順次読みこみ

    powershellでcsvの順次読みこみ powershellで下記のような事はできますか? <in_file.csv> a,1,A b,2,B c,3,C これを読み込み <out_file.csv> =1=《A》【a】 =2=《B》【b】 =3=《C》【c】 のように個別の項目を編集して出力

  • MySQLで1つの項目に対しての集計

    1つの項目内にカンマ等で区切られたデータがあります。その数を下の2種類のように集計する事って可能でしょうか? 例) KEY  項目 ----------------- 1   AAA,BBB,CCC 2   AAA,CCC 3   CCC,DDD 1) ----------------- 1  3(件) 2  2(件) 3  2(件) 2) ----------------- AAA  2(回) BBB  1(回) CCC  3(回) DDD  1(回) よろしくお願いします。

  • エクセルのCSV(カンマ区切り)保存について教えてください

    次のようなEXCELデータをCSV(カンマ区切り)で保存した際に項目(カンマ)を2つ追加できるでしょうか? EXCEL  セルA1:AAA  セルB1:BBB  セルC1:  セルD1:CCC  セルE1:  セルF1: このデータをCSV保存してTEXTで確認すると、  AAA,BBB,,CCC となりますが、これを  AAA,BBB,,CCC,, としたいのですが、セルE1とセルF1がNULLのためカンマ区切りができません。半角スペースなどをいれるしかないのでしょうか? できればセルE1とセルF1には何も入力したくないのですが。良い方法がありましたら教えてください。

  • SpreadのデータをCSVに出力する際。。。

    いつもお世話になっております。 現在SpreadのデータをCSVに出力するプログラムを作成しています。 例えば、Spreadのデータに… ------------------- AAA BBB CCC DDD BBB DDD ------------------- というデータが入っている場合、 CSVには… ------------------- AAA BBB CCC DDD ------------------- という風に出力したい(重複した場合は一方だけ出力)のですが、 なかなかうまくいきません(汗) どのようなプログラムを組めばうまくいくか、 ご教授して頂ければ幸いです。 宜しくお願いします。 ※そのままCSVに出力するやり方はわかります。

  • CSVファイルをAccessに取りこみたい

    以下のような2つのCSVファイルがあるとします。 【hoge1.csv】 aaa,bbb,ccc,ddd 1,2,3,4 【hoge2.csv】 aaa,bbb,ddd,eee,fff 1,2,4,5,6 Accessをあまり使用したことがないので教えていただきたいのですが、 hoge1.csv、hoge2.csvを、以下のような形で Accessの1つのテーブルにインポートする事はできるのでしょうか? ---------------------------- | aaa | bbb | ccc | ddd | eee | fff | | 1 | 2 | 3 | 4 |  |  | | 1 | 2 |  | 4 | 5 | 6 | ---------------------------- ※「aaa」「bbb」…をフィールド名としたいです vb等でプログラムを自作するしかないのでしょうか? 何か良い方法がありましたら教えてください。お願いします。

  • 集計方法について教えて下さい。PHP+MYSQL

    こんばんは。よろしくお願い致します。 データベースに下記のようなデータが入っています。 no point name --------------------- 123 100 aaa 123 50 aaa 124 100 bbb 130 30 ccc 131 80 ddd 131 100 ddd 131 20 ddd 133 10 eee このデータを元に、下記のような結果を得たいのです。 noが同じデータのpointを集計し、まとめたレコードの件数をcount項目として欲しいです。 no point name count ------------------------------ 123 150 aaa 2 124 100 bbb 1 130 30 ccc 1 131 200 ddd 3 133 10 eee 1 SQLだけで実現できるのでしょうか?? 具体的にどのような方法で実現できるか、教えて頂けると有難いです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ピポッド 集計の追加

    ご存知の方、お知恵をお貸し下さい。 現在、下記のようなピポッドを組んでいます。 グループ1  AAA (AAAの合計、以下aaa+bbb+cccの合計) aaa bbb ccc        BBB (BBBの合計、以下ddd+eee+fffの合計) ddd eee fff CCC (CCCの合計、以下ggg+hhh+iiiの合計) ggg hhh iii グループ2・・・以下続く 上記に、BBBとCCCだけの合計を、(グループ1の中に)追加したいのです。 このように、合計したい項目だけを指定して 集計する事は可能でしょうか? 数式の集計アイテムの追加を行いましたが 上手くできませんでした。 ご存知の方、ご教授いただければ幸いです。 宜しくお願い致します。

  • 大量のCSVデータを1つのエクセルデータにまとめる方法について

    今仕事で、CSVファイルが400ファイル程あり、これを一つの エクセルファイルにまとめなくて加工しなければならないのですが うまいことVBAを活用して効率的にできないか思案中なのですが うまい具合に行きません。 データの持ち方として ○CSVファイル1 1.AAA 2.BBB ○CSVファイル2 3.CCC 4.DDD となっており、これを1つのエクセルファイル上で 1.AAA 2.BBB 3.CCC 4.DDD としたいのですがなにかいい方法はないでしょうか? 1つのブックで外部データの取り込みでCSVを次々に選択して いくVBAなんてあれば教えていただけないでしょうか? よろしくお願いします。

  • CSVデータをツリー表示させたい

    業務で、WEBサイトにCSVデータを表示させたいと考えています。 CSVデータは、毎日更新されるもので、行数も日々変更されます。 項目の中に「レベル」という項目があり、この「レベル」の値を使って、 ツリー表示出来ないかと考えています。 希望としては、決められたフォルダに決められたファイル名で、 CSVデータを置けば、自動的にWEB上にツリー表示されるという ことです。 J-query等で、これを実現出来るプラグインが無いか探しているのですが、 なかなか希望に合うものが見つからず、困っています。 (CSVをWEB表示するものは見つかるのですが、ツリー表示出来る ものが見つかりません) 何か、良い方法があれば、ご教示頂けませんでしょうか? 例 コード  レベル 品名  規格 ・・・・    コード     レベル 品名  規格 ・・・・  1234    1   AAA   aaa       -1234       1    AAA   aaa 2345    2   BBB   bbb        ∟2345     2    BBB  bbb 3456    3   CCC   ccc          ∟3456   3    CCC  ccc 4567    3   DDD   ddd          ∟4567   3    DDD  ddd 5678    3   EEE   eee           ∟5678   3    EEE  eee 6789    4   FFF   fff             ∟6789  4    FFF   fff 7890    3   GGG  ggg           ∟7890   3    GGG  ggg