code: def decode_csv_v2(
      records,
      record_defaults,
      field_delim=",",
      use_quote_delim=True,
      na_value="",
      select_cols=None,
      name=None,
  ):
      """Convert CSV records to tensors. Each column maps to one tensor.
  
      RFC 4180 format is expected for the CSV records.
      (https://tools.ietf.org/html/rfc4180)
      Note that we allow leading and trailing spaces with int or float field.
  
      Args:
        records: A `Tensor` of type `string`.
          Each string is a record/row in the csv and all records should have
          the same format.
        record_defaults: A list of `Tensor` objects with specific types.
          Acceptable types are `float32`, `float64`, `int32`, `int64`, `string`.
          One tensor per column of the input record, with either a
          scalar default value for that column or an empty vector if the column is
          required.
        field_delim: An optional `string`. Defaults to `","`.
          char delimiter to separate fields in a record.
        use_quote_delim: An optional `bool`. Defaults to `True`.
          If false, treats double quotation marks as regular
          characters inside of the string fields (ignoring RFC 4180, Section 2,
          Bullet 5).
        na_value: Additional string to recognize as NA/NaN.
        select_cols: Optional sorted list of column indices to select. If specified,
          only this subset of columns will be parsed and returned.
        name: A name for the operation (optional).
  
      Returns:
        A list of `Tensor` objects. Has the same type as `record_defaults`.
        Each tensor will have the same shape as records.
  
      Raises:
        ValueError: If any of the arguments is malformed.
      """
      if select_cols is not None and any(
          select_cols[i] >= select_cols[i + 1]
          for i in range(len(select_cols) - 1)
      ):
          raise ValueError("select_cols is not strictly increasing.")
      if select_cols is not None and select_cols[0] < 0:
          raise ValueError("select_cols contains negative values.")
      if select_cols is not None and len(select_cols) != len(
          record_defaults
      ):
          raise ValueError(
              "Length of select_cols and record_defaults do not match."
          )
      return gen_parsing_ops.decode_csv(
          records=records,
          record_defaults=record_defaults,
          field_delim=field_delim,
          use_quote_delim=use_quote_delim,
          na_value=na_value,
          name=name,
          select_cols=select_cols,
      )
  
imports: from tensorflow.python.framework import ops
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_assert
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import gen_parsing_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import parsing_config
  from tensorflow.python.ops import parsing_grad
  from tensorflow.python.ops.gen_parsing_ops import *
  from tensorflow.python.util import deprecation
  from tensorflow.python.util import dispatch
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 14 for calling a global function with example usage: decode_csv_v2(records, record_defaults, field_delim, use_quote_delim, na_value, select_cols, name) and returns: gen_parsing_ops