code: def _make_repr_table_from_sframe(X):
      """
      Serializes an SFrame to a list of strings, that, when printed, creates a well-formatted table.
      """
  
      assert isinstance(X, _SFrame)
  
      column_names = X.column_names()
  
      out_data = [
          [None] * len(column_names) for i in range(X.num_rows())
      ]
  
      column_sizes = [len(s) for s in column_names]
  
      for i, c in enumerate(column_names):
          for j, e in enumerate(X[c]):
              out_data[j][i] = str(e)
              column_sizes[i] = max(column_sizes[i], len(e))
  
      # now, go through and pad everything.
      out_data = [
          [
              cn.ljust(k, " ")
              for cn, k in zip(column_names, column_sizes)
          ],
          ["-" * k for k in column_sizes],
      ] + [
          [e.ljust(k, " ") for e, k in zip(row, column_sizes)]
          for row in out_data
      ]
  
      return ["  ".join(row) for row in out_data]
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  from ..data_structures.sframe import SArray
  from ..data_structures.sframe import SFrame
  from ..data_structures.sgraph import SGraph
  from ..data_structures.sgraph import Vertex
  from ..data_structures.sgraph import Edge
  from .._cython.cy_sarray import UnitySArrayProxy
  from .._cython.cy_sframe import UnitySFrameProxy
  from .._cython.cy_graph import UnityGraphProxy
  from ..toolkits._main import ToolkitError
  import json
  import six
label_desc: Use image node_id 12 for calling a global function with example usage: _make_repr_table_from_sframe(X) and returns: unknown