uses the input data, which may be a string, list, number
        or file to work out how to load the data (this can be 
        overridden by passing the data_type on the command line

def _identify_datatype(self, input_data):
        """
        uses the input data, which may be a string, list, number
        or file to work out how to load the data (this can be 
        overridden by passing the data_type on the command line
        """
        if isinstance(input_data, (int, float)) :
            self.data_type = 'number'
        elif isinstance(input_data, (list)): #, set
            self.data_type = 'list'
        elif isinstance(input_data, dict):
            self.data_type = 'dict'
        elif type(input_data) is str:
            if self.input_data[0:4] == 'http':
                self.data_type = 'url'
            elif os.path.exists(input_data):
                self.data_type = 'file'
            else:
                self.data_type = 'str'
                
        lg.record_result('_identify_datatype', self.name + ' is ' + self.data_type)