トップ回答者
CSVファイルと計算方法

質問
回答
-
お返事ありがとうございます。
このファイル内の足し算です。
いかにもやっつけ感が高くなってしまいますが、こんな感じでもできます^^;
Import-csvで読んで、24時間足しこみを、読んだ個数回しているだけです。$work = import-csv test.csv for ($i = 0; $i -lt $work.Count ; $i++){ $sum = 0 for ($j = 1;$j -le 24 ;$j++){$sum=$sum + [int]$work[$i].([string]$j+":00")} $ret = "id:" + $work[$i].id + "->" + $sum Write-Output $ret }
下記のように強引な記述ができるPowerShellが楽しくて仕方ありません^^;
[int]$work[$i].([string]$j+":00")
すべての返信
-
お返事ありがとうございます。
このファイル内の足し算です。
いかにもやっつけ感が高くなってしまいますが、こんな感じでもできます^^;
Import-csvで読んで、24時間足しこみを、読んだ個数回しているだけです。$work = import-csv test.csv for ($i = 0; $i -lt $work.Count ; $i++){ $sum = 0 for ($j = 1;$j -le 24 ;$j++){$sum=$sum + [int]$work[$i].([string]$j+":00")} $ret = "id:" + $work[$i].id + "->" + $sum Write-Output $ret }
下記のように強引な記述ができるPowerShellが楽しくて仕方ありません^^;
[int]$work[$i].([string]$j+":00")
-
この手の作り方ですが、まずはImport-csvしてみて、読み込んだ変数を表示します。
次に、$work | Get-member をやってみてみます
1:00 NotePropertyとなるので、各プロパティには
$work[0]."1:00"
のように、文字列を指定したらアクセスできることが分かります。
あとは、単にループまわして足しこむだけです。基本は Get-Member ですね^^
とりあえずなんかあったらここを見てます。
「PowerShell基礎文法最速マスター」
http://blogs.wankuma.com/mutaguchi/archive/2010/02/13/186034.aspx