code: def csv_row_to_transaction(index, row, source_encoding="latin1",
              date_format="%d-%m-%Y", thousand_sep=".", decimal_sep=","):
          
          xfer, posted, message, amount, total = row
          xfer = Parse.date(xfer)
          posted = Parse.date(posted)
          message = Parse.to_utf8(message, source_encoding)
          amount = Parse.money(amount)
          total = Parse.money(total)
          return Transaction(index, xfer, posted, message, amount, total)
docs: Parses a row of strings to a ``Transaction`` object.
  
          Args:
              index: The index of this row in the original CSV file. Used for
              sorting ``Transaction``s by their order of appearance.
  
              row: The row containing strings for [transfer_date, posted_date,
              message, money_amount, money_total].
  
              source_encoding: The encoding that will be used to decode strings
              to UTF-8.
  
              date_format: The format of dates in this row.
  
              thousand_sep: The thousand separator in money amounts.
  
              decimal_sep: The decimal separator in money amounts.
  
          Returns:
              A ``Transaction`` object.