java.lang.Object
com.inductiveautomation.ignition.common.script.builtin.DatasetUtilities

public class DatasetUtilities extends Object
  • Constructor Details

    • DatasetUtilities

      public DatasetUtilities()
  • Method Details

    • sort

      public static Dataset sort(Dataset dataset, int keyColumn)
    • sort

      public static Dataset sort(Dataset dataset, String keyColumn)
    • sort

      public static Dataset sort(Dataset dataset, String keyColumn, boolean ascending)
    • sort

      public static Dataset sort(Dataset dataset, int keyColumn, boolean ascending)
    • sort

      public static Dataset sort(Dataset dataset, String keyColumn, boolean ascending, boolean naturalOrdering)
    • sort

      public static Dataset sort(Dataset dataset, int keyColumn, boolean ascending, boolean naturalOrdering)
    • formatDates

      public static Dataset formatDates(Dataset dataset, String format) throws IllegalArgumentException
      Throws:
      IllegalArgumentException
    • formatDates

      public static Dataset formatDates(Dataset dataset, String format, Locale locale) throws IllegalArgumentException
      Returns a new dataset with all date columns changed to Strings, and the dates formatted as strings
      Parameters:
      dataset - Dataset to format
      format - Date format to use
      locale - Locale to use. If null, default will be used.
      Returns:
      New dataset, formatted. If there are no date columns, original dataset is returned.
      Throws:
      IllegalArgumentException - is date format is not valid
    • toPyDataSet

      public static DatasetUtilities.PyDataSet toPyDataSet(Dataset dataset)
    • toDataSet

      public static Dataset toDataSet(DatasetUtilities.PyDataSet pds)
    • toDataSet

      public static Dataset toDataSet(org.python.core.PySequence headers, org.python.core.PySequence pyData)
    • filterColumns

      public static Dataset filterColumns(Dataset dataset, org.python.core.PySequence columns) throws Exception
      Throws:
      Exception
    • fromCSV

      public static Dataset fromCSV(String csv)
    • fromCSVJava

      public static Dataset fromCSVJava(String csv) throws IOException, ClassNotFoundException, IllegalArgumentException
      A special version of fromCSV that throws Java exceptions rather than wrapped, uncaught python exceptions
      Throws:
      IOException
      ClassNotFoundException
      IllegalArgumentException
    • toCSV

      public static String toCSV(org.python.core.PyObject[] pyArgs, String[] keywords)
    • toCSVJava

      public static String toCSVJava(Dataset ds, boolean showHeaders, boolean forExport)
    • toCSVJava

      public static String toCSVJava(Dataset ds, boolean showHeaders, boolean forExport, boolean localized)
    • toCSVJavaStreaming

      public static void toCSVJavaStreaming(Dataset ds, Boolean showHeaders, boolean forExport, Writer sw, boolean localized)
    • toJSONObject

      public static JSONObject toJSONObject(Dataset data)
      Returns a JSON object in the format of:

       {
         "columns": [
            { "name": "col_1", "type": "java.lang.Integer" },
            { "name": "col_2", "type": "java.lang.Integer" },
            { "name": "col_3", "type": "java.lang.Integer" }],
         "rows": [
            [ 1, 2, "hello" ],
            [ 3, 8, "whatever" ]]
       }
       
    • dataSetToCSV

      @Deprecated public static String dataSetToCSV(boolean headerRow, Dataset ds)
      Deprecated.
    • dataSetToHTML

      public static String dataSetToHTML(boolean headerRow, Dataset ds, String title)
    • dataSetToHTMLStreaming

      public static void dataSetToHTMLStreaming(boolean headerRow, Dataset ds, String title, Writer fw) throws IOException
      Throws:
      IOException
    • dataSetToExcel

      @Deprecated public static String dataSetToExcel(boolean headerRow, Object[] datasets, boolean nullsEmpty)
      Deprecated.
      Exports 1 or more datasets to excel.
      Parameters:
      datasets - An array of Datasets or PyDataSets. Each dataset will be on a separate sheet.
    • dataSetToExcel

      public static String dataSetToExcel(boolean headerRow, Object[] datasets)
    • toExcel

      public static byte[] toExcel(org.python.core.PyObject[] pyArgs, String[] keywords) throws IOException
      Exports 1 or more Datasets to excel.
      Throws:
      IOException
    • dataSetToExcelStreaming

      @Deprecated public static void dataSetToExcelStreaming(boolean headerRow, Object[] datasets, Writer out, boolean nullsEmpty) throws IOException
      Deprecated.
      Throws:
      IOException
    • dataSetToExcelStreaming

      public static void dataSetToExcelStreaming(boolean headerRow, Object[] objects, OutputStream out, boolean nullsEmpty)
    • dataSetToExcelBytes

      public static byte[] dataSetToExcelBytes(boolean headerRow, Object[] objects, boolean nullsEmpty, @Nullable String[] sheetNames)
    • addRow

      public static Dataset addRow(Dataset ds, org.python.core.PySequence row) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • addRow

      public static Dataset addRow(Dataset ds, int rowId, org.python.core.PySequence row) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • insertRow

      public static Dataset insertRow(Dataset ds, org.python.core.PySequence row) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • insertRow

      public static Dataset insertRow(Dataset ds, int rowId, org.python.core.PySequence row) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • addRows

      public static Dataset addRows(Dataset ds, org.python.core.PySequence[] rows) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • addRows

      public static Dataset addRows(Dataset ds, int rowId, org.python.core.PySequence[] rows) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • appendDataset

      public static Dataset appendDataset(Dataset ds1, Dataset ds2) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • clearDataset

      public static Dataset clearDataset(Dataset ds)
    • addColumn

      public static Dataset addColumn(Dataset ds, org.python.core.PySequence col, String colName, org.python.core.PyType colType) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • addColumn

      public static Dataset addColumn(Dataset ds, int colId, org.python.core.PySequence col, String colName, org.python.core.PyType colType) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • insertColumn

      public static Dataset insertColumn(Dataset ds, org.python.core.PySequence row, String colName, org.python.core.PyType colType) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • insertColumn

      public static Dataset insertColumn(Dataset ds, int colId, org.python.core.PySequence col, String colName, org.python.core.PyType colType) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • insertColumn

      public static Dataset insertColumn(Dataset ds, int colId, Object[] col, String colName, Class colType) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • getColumnHeaders

      public static org.python.core.PyList getColumnHeaders(Dataset ds) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • removeRow

      public static Dataset removeRow(Dataset ds, int row) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • deleteRow

      public static Dataset deleteRow(Dataset ds, int row) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • deleteRows

      public static Dataset deleteRows(Dataset ds, int[] rows) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • updateRow

      public static Dataset updateRow(Dataset ds, int row, org.python.core.PyDictionary changes) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • setValue

      public static Dataset setValue(Dataset ds, int row, String col, org.python.core.PyObject value) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • setValue

      public static Dataset setValue(Dataset ds, int row, int col, org.python.core.PyObject value) throws org.python.core.PyException
      Throws:
      org.python.core.PyException
    • setValue

      public static Dataset setValue(Dataset ds, int row, int col, Object value) throws org.python.core.PyException
      Throws:
      org.python.core.PyException