Sunday 19 April 2020

TableSaw: Selecting columns in a query statement

If you don’t need all the columns from the filtered table in the result, you can limit columns as well as rows, using select().where().

Example
Table resultedTable = table.select("FirstName", "LastName").where(stringColumn.startsWith("C").and(stringColumn.endsWith("u")));

App.java
package com.sample.app;

import tech.tablesaw.api.IntColumn;
import tech.tablesaw.api.StringColumn;
import tech.tablesaw.api.Table;

public class App {

  public static void main(String args[]) {
    int[] empIds = { 1, 2, 3, 4, 5, 6 };
    String[] firstNames = { "Hari", "Ram", "Sowmya", "Chamu", "Swethank", "Chamu" };
    String[] lastNames = { "Krishna", "Gurram", "Maj", "Maj", "Baji", "Gurram" };

    Table table = Table.create().addColumns(IntColumn.create("Employee Id", empIds))
        .addColumns(StringColumn.create("FirstName", firstNames))
        .addColumns(StringColumn.create("LastName", lastNames));

    StringColumn stringColumn = table.stringColumn("FirstName");

    Table resultedTable = table.select("FirstName", "LastName").where(stringColumn.startsWith("C").and(stringColumn.endsWith("u")));

    System.out.println(table.print());
    System.out.println("\n" + resultedTable.print());

  }
}

Output
Employee Id  |  FirstName  |  LastName  |
------------------------------------------
           1  |       Hari  |   Krishna  |
           2  |        Ram  |    Gurram  |
           3  |     Sowmya  |       Maj  |
           4  |      Chamu  |       Maj  |
           5  |   Swethank  |      Baji  |
           6  |      Chamu  |    Gurram  |

 FirstName  |  LastName  |
--------------------------
     Chamu  |       Maj  |
     Chamu  |    Gurram  |


Previous                                                    Next                                                    Home

No comments:

Post a Comment