docs: def infer_delimiter(filename, comment_char="#", n_lines=3):
      """
      Given a file which contains data separated by one of the following:
          - commas
          - tabs
          - spaces
      Return the most likely separator by sniffing the first few lines
      of the file's contents.
      """
      lines = []
      with open(filename, "r") as f:
          for line in f:
              if line.startswith(comment_char):
                  continue
              if len(lines) < n_lines:
                  lines.append(line)
              else:
                  break
      if len(lines) < n_lines:
          raise ValueError(
              "Not enough lines in %s to infer delimiter" % filename)
      candidate_delimiters = ["\t", ",", "\s+"]
      for candidate_delimiter in candidate_delimiters:
          counts = [len(re.split(candidate_delimiter, line)) for line in lines]
          first_line_count = counts[0]
          if all(c == first_line_count for c in counts) and first_line_count > 1:
              return candidate_delimiter
      raise ValueError("Could not determine delimiter for %s" % filename)