跳过/过滤表格行

时间:2017-04-25 20:47:28

标签: java arrays filter row processing

我正在计算表格列的平均值。 但在我计算之前,我想过滤掉具有特定值的每一行,'性别= 0'。

我已计算出性别已过滤的excel中的预期平均值,但我无法在脚本中重新创建此值。我是编程的新手,我确信我做了一些明显的错误。我已尝试在此处查看类似问题,但无法将其应用于我的脚本。

使用处理(基于Java)。

我的数据片段

https://i.stack.imgur.com/f47bU.png

//LOOP THROUGH TABLE AND FILTER
  for (int column=0; column<highTable.getColumnCount(); column++)
  {
    float ColumnTotal=0; 

    for (int row=0; row<highTable.getRowCount(); row++)
    {

//I want to filter out all rows from the table that is 'Gender = 0'
      if (highTable.getInt(row, "Gender") == 0)
      {
        continue; //I've also tried row++ here, this works depending on the value of the last row, oterhwise it crashes. Also, I think it fails to skip when there are multiple 'gender 0' in succession, bacause I've calulated the return value in excel, and this script returns a slightly wrong number. 
      }

      float rowvalue = highTable.getInt(row, column); 
      ColumnTotal += rowvalue; 
      highAverage[column]= ColumnTotal/highTable.getRowCount(); 
    }
  }

1 个答案:

答案 0 :(得分:0)

  1. 在完成highAverage[column]循环之前,请不要计算row
  2. 在进行该计算时,请使用gender != 0而不是highTable.getRowCount()的行数。
  3. 您需要一个新的局部变量 - 与您的ColumnTotal变量相同的范围。在将rowValue添加到ColumnTotal的同时增加它。最后,在计算平均值之前,只需要防止被零除。