code: def formatted_table(self, *fields, **exprs):
          
          # select_exprs = {}
          # for f in fields:
          #     select_exprs[f] = lambda r : str(getattr,f,None)
          fields = set(fields)
          select_exprs = ODict((f, lambda r, f=f: str(getattr, f, None)) for f in fields)
  
          for ename, expr in exprs.items():
              if isinstance(expr, basestring):
                  if re.match(r'^[a-zA-Z_][a-zA-Z0-9_]*$', expr):
                      select_exprs[ename] = lambda r: str(getattr(r, expr, None))
                  else:
                      if "{}" in expr or "{0}" or "{0:" in expr:
                          select_exprs[ename] = lambda r: expr.format(r)
                      else:
                          select_exprs[ename] = lambda r: expr % getattr(r, ename, "None")
          
          return self.select(**select_exprs)
docs: Create a new table with all string formatted attribute values, typically in preparation for
          formatted output.
          @param fields: one or more strings, each string is an attribute name to be included in the output
          @type fields: string (multiple)
          @param exprs: one or more named string arguments, to format the given attribute with a formatting string 
          @type exprs: name=string