code: def process_line(self, line):
          "Process a single complete line."
          cleaned = []
          columns = line.split(self.indel)
          # Populate indices if not defined
          if not self.indices:
              self.indices = range(len(columns))
          for i in self.indices:
              # Support turning an in col into multiple out cols
              out = self.process_column(i, columns[i])
              if isinstance(out, (list, tuple)):
                  cleaned.extend(out)
              else:
                  cleaned.append(out)
          return self.outdel.join(cleaned) + '\nf process_line(self, line):
          "Process a single complete line."
          cleaned = []
          columns = line.split(self.indel)
          # Populate indices if not defined
          if not self.indices:
              self.indices = range(len(columns))
          for i in self.indices:
              # Support turning an in col into multiple out cols
              out = self.process_column(i, columns[i])
              if isinstance(out, (list, tuple)):
                  cleaned.extend(out)
              else:
                  cleaned.append(out)
          return self.outdel.join(cleaned) + '\n'
docs: Process a single complete line.