code: def _format(val, valtype, floatfmt, missingval=""):
      r"""Format a value accoding to its type.
  
      Unicode is supported:
  
      >>> hrow = ['\u0431\u0443\u043a\u0432\u0430', '\u0446\u0438\u0444\u0440\u0430']
      >>> tbl = [['\u0430\u0437', 2], ['\u0431\u0443\u043a\u0438', 4]]
      >>> good_result = '\u0431\u0443\u043a\u0432\u0430      \u0446\u0438\u0444\u0440\u0430\n-------  -------\n\u0430\u0437             2\n\u0431\u0443\u043a\u0438           4'
      >>> tabulate(tbl, headers=hrow) == good_result
      True
  
      """
      if val is None:
          return missingval
  
      if valtype in [int, _text_type]:
          return "{0}".format(val)
      elif valtype is _binary_type:
          try:
              return _text_type(val, "ascii")
          except TypeError:
              return _text_type(val)
      elif valtype is float:
          return format(float(val), floatfmt)
      else:
          return "{0}".format(val)
  
imports: from __future__ import print_function
  from __future__ import unicode_literals
  from collections import namedtuple
  from platform import python_version_tuple
  import re
label_desc: Use image node_id 19 for calling a global function with example usage: _format(val, valtype, floatfmt, missingval) and returns: missingval, str, _text_type, format, str, _text_type