def put(self, items, panic=True):
if not self.initiated:<EOL><INDENT>self._initiate()<EOL><DEDENT>try:<EOL><INDENT>row_status = self.mload.put_row(self.preprocessor(items))<EOL>self.applied_count += <NUM_LIT:1><EOL><DEDENT>except (TeradataPTError, EncoderError) as error:<EOL><INDENT>self.error_count += <NUM_LIT:1><EOL>if panic:<EOL><INDENT>raise error<EOL><DEDENT>log.info("<STR_LIT>", error)<EOL><DEDENT>
Load a single row into the target table.

:param list items: A list of values in the row corresponding to the
    fields specified by :code:`self.columns`
:param bool panic: If :code:`True`, when an error is encountered it will be
    raised. Otherwise, the error will be logged and :code:`self.error_count`
    is incremented.
:raises `giraffez.errors.GiraffeEncodeError`: if :code:`panic` is :code:`True` and there
    are format errors in the row values.
:raises `giraffez.errors.GiraffeError`: if table name is not set.
:raises `giraffez.TeradataPTError`: if there is a problem
    connecting to Teradata.