code: def parse_csv(input, delim=','):
      r
      lines = [line for line in input.splitlines() if line.strip()]
      return [map(num_or_str, line.split(delim)) for line in lines]
docs: r"""Input is a string consisting of lines, each line has comma-delimited
      fields.  Convert this into a list of lists.  Blank lines are skipped.
      Fields that look like numbers are converted to numbers.
      The delim defaults to ',' but '\t' and None are also reasonable values.
      >>> parse_csv('1, 2, 3 \n 0, 2, na')
      [[1, 2, 3], [0, 2, 'na']]