使用PowerShell提取列数据

时间:2016-06-02 15:26:17

标签: powershell average

我是合作学生和新的PowerShell用户,我正在尝试创建一个脚本,该文件为CSV文件中的列提取信息,并将平均值输出到哈希表。有问题的文件是一个日志文件,其中包含具有与特定组件相关的名称的标头。这些标题下的数据主要是温度值,我想对其执行各种操作。这就是我所拥有的:

function createTable{
param ([parameter(mandatory=$true)]$filename)  
$d = ipcsv $filename
$rowsize = ($d | measure-object).count
$table = @{}
$headername = $d | get-member | select 'membertype','Name' | where-object {$_.membertype -eq "Noteproperty"} | select 'Name'
$table.add("Log Start Time", ($d | select -index 2 | select 'Time').time)
$table.add("Log End Time", ($d | select -last 1 | select 'Time').time)
$totaltemp = 0
$count = 0
for($i = 0; $i -lt $p.count; $i++){
    $d | select $headername[$i].'Name' | foreach-object{if($_.($headername[$i].'Name') -ne 'Time'){
        if (([int64]::TryParse($d.($headername[$i].'name')[3] , [ref]""))){
            for ($j = 3; $j -lt $u ; $j++){  
                $totaltemp = $totaltemp + $d.($headername[$i].'name')[$j]
                $count++            

            }  

        }   


    }
    if ($count -ne 0){
    $table.add($headername.name[$i], $totaltemp/$count)
}
}
}
write-output $table
};set-alias ct createtable

我确定这需要做很多工作,但我愿意学习。我的变量$ u测量文件中的行数,我的变量$ p隔离了标题名称。我试图检查每个标题的行值是否为数字,然后尝试将它们相加以取平均值。我的第一个for循环意味着根据列数执行,而第二个循环意图根据行数执行,排除前两行。

0 个答案:

没有答案