class_docstr: A beam.DoFn to convert a parsed CSV line to a tf.Example.
code: def process(
      self,
      csv_cells: List[csv_decoder.CSVCell],
      column_infos: List[csv_decoder.ColumnInfo],
  ) -> Iterable[tf.train.Example]:
      if not self._column_handlers:
          self._column_handlers = self._make_column_handlers(
              column_infos
          )
  
      # skip blank lines.
      if not csv_cells:
          return
  
      if len(csv_cells) != len(self._column_handlers):
          raise ValueError("Invalid CSV line: {}".format(csv_cells))
  
      feature = {}
      for csv_cell, (column_name, handler_fn) in zip(
          csv_cells, self._column_handlers
      ):
          feature[column_name] = (
              handler_fn(csv_cell) if handler_fn else tf.train.Feature()
          )
  
      yield tf.train.Example(
          features=tf.train.Features(feature=feature)
      )
  
imports: import os
  from typing import Any, Dict, Iterable, List
  from absl import logging
  import apache_beam
  import tensorflow
  from tfx.components.example_gen.base_example_gen_executor import BaseExampleGenExecutor
  from tfx.dsl.io import fileio
  from tfx.types import standard_component_specs
  from tfx.utils import io_utils
  from tfx_bsl.coders import csv_decoder
label_desc: Use image node_id 3 for calling the _ParsedCsvToTfExample obj's underlying member method code with example usage: obj.process(csv_cells, column_infos) without return types