def _python_type(self, key, value):
        """Returns proper type from the schema"""
        try:
            field_type = self._sp_cols[key]['type']
            if field_type in ['Number', 'Currency']:
                return float(value)
            elif field_type == 'DateTime':


                # Need to remove the '123;#' from created dates, but we will do it for all dates
                # self.date_format = re.compile('\d+-\d+-\d+ \d+:\d+:\d+')
                value = self.date_format.search(value).group(0)
                
                # NOTE: I used to round this just date (7/28/2018)
                return datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
            elif field_type == 'Boolean':
                if value == '1':
                    return 'Yes'
                elif value == '0':
                    return 'No'
                else:
                    return ''
            elif field_type in ('User', 'UserMulti'):
                # Sometimes the User no longer exists or
                # has a diffrent ID number so we just remove the "123;#"
                # from the beginning of their name
                if value in self.users['sp']:
                    return self.users['sp'][value]
                elif '#' in value:
                    return value.split('#')[1]
                else:
                    return value
            else:
                return value
        except AttributeError:
            return value
Returns proper type from the schema