Exemple #1
0
    def _gen_js(self, dataframe):
        """Returns javascript for this table."""
        columns = dataframe.columns
        data = dataframe.values

        data_formatters = {}
        header_formatters = {}
        default_formatter = _interactive_table_helper._find_formatter(  # pylint: disable=protected-access
            _DEFAULT_FORMATTERS)

        for i, _ in enumerate(columns):
            data_formatters[i] = default_formatter
            header_formatters[i] = default_formatter

        formatted_data = _interactive_table_helper._format_data(  # pylint: disable=protected-access
            data, _DEFAULT_NONUNICODE_FORMATTER, data_formatters)
        column_types = formatted_data['column_types']

        columns_and_types = []
        for i, (column_type, column) in enumerate(zip(column_types, columns)):
            columns_and_types.append(
                (column_type, str(header_formatters[i](column))))

        return """
      import "{gviz_url}";

      window.createDataTable({{
        data: {data},
        columns: {columns},
        rowsPerPage: {num_rows_per_page},
      }});
    """.format(gviz_url=_GVIZ_JS,
               data=formatted_data['data'],
               columns=_json.dumps(columns_and_types),
               num_rows_per_page=self._num_rows_per_page)
Exemple #2
0
    def _gen_js(self, dataframe, id_):
        """Returns javascript for this table."""
        columns = dataframe.columns
        data = dataframe.values

        data_formatters = {}
        header_formatters = {}
        default_formatter = _interactive_table_helper._find_formatter(  # pylint: disable=protected-access
            _DEFAULT_FORMATTERS)

        for i, _ in enumerate(columns):
            data_formatters[i] = default_formatter
            header_formatters[i] = default_formatter

        formatted_data = _interactive_table_helper._format_data(  # pylint: disable=protected-access
            data, _DEFAULT_NONUNICODE_FORMATTER, data_formatters)
        column_types = formatted_data['column_types']

        columns_and_types = []
        for i, (column_type, column) in enumerate(zip(column_types, columns)):
            columns_and_types.append(
                (column_type, str(header_formatters[i](column))))

        return """
      google.colab.output.pauseOutputUntil(createDataTable({{
        data: {data},
        elementId: "{id}",
        columns: {columns},
        rowsPerPage: {num_rows_per_page},
      }}));
    //# sourceURL=table_{id}
    """.format(data=formatted_data['data'],
               id=id_,
               columns=_json.dumps(columns_and_types),
               num_rows_per_page=self._num_rows_per_page)
    def _gen_js(self, dataframe):
        """Returns javascript for this table."""
        columns = dataframe.columns
        data = dataframe.values

        data_formatters = {}
        header_formatters = {}
        default_formatter = _interactive_table_helper._find_formatter(  # pylint: disable=protected-access
            _DEFAULT_FORMATTERS)

        for i, _ in enumerate(columns):
            data_formatters[i] = default_formatter
            header_formatters[i] = default_formatter

        formatted_data = _interactive_table_helper._format_data(  # pylint: disable=protected-access
            data, _DEFAULT_NONUNICODE_FORMATTER, data_formatters)
        column_types = formatted_data['column_types']

        columns_and_types = []
        for i, (column_type, column) in enumerate(zip(column_types, columns)):
            columns_and_types.append(
                (column_type, str(header_formatters[i](column))))

        column_options = []
        if self._include_index:
            # Collapse index columns to minimum necessary width. We specify 1px but
            # they will auto-expand as necessary.
            column_options = [{
                'width': '1px',
                'className': 'index_column'
            }] * self._dataframe.index.nlevels

        return """
      import "{gviz_url}";

      window.createDataTable({{
        data: {data},
        columns: {columns},
        columnOptions: {column_options},
        rowsPerPage: {num_rows_per_page},
        helpUrl: "{help_url}",
        suppressOutputScrolling: {suppress_output_scrolling},
        minimumWidth: {min_width},
      }});
    """.format(gviz_url=_GVIZ_JS,
               data=formatted_data['data'],
               columns=_json.dumps(columns_and_types),
               column_options=_json.dumps(column_options),
               num_rows_per_page=self._num_rows_per_page,
               help_url=_DATA_TABLE_HELP_URL,
               suppress_output_scrolling=_json.dumps(
                   _DEFAULT_SUPPRESS_OUTPUT_SCROLLING),
               min_width=('"' + self._min_width +
                          '"') if self._min_width else 'undefined')