Uploads feature values for the given
        :class:`MapobjectType <tmlib.models.mapobject.MapobjectType>` at the
        specified :class:`Site <tmlib.models.site.Site>`.

        Parameters
        ----------
        mapobject_type_name: str
            type of the segmented objects
        plate_name: str
            name of the plate
        well_name: str
            name of the well
        well_pos_y: int
            y-position of the site relative to the well grid
        well_pos_x: int
            x-position of the site relative to the well grid
        tpoint: int
            zero-based time point index
        filename: str
            path to the file on disk
        index_col: str
            column name containing the object labels

        See also
        --------
        :func:`tmserver.api.feature.add_feature_values`
        :class:`tmlib.models.feature.FeatureValues`

def upload_feature_value_file(self, mapobject_type_name, plate_name,
            well_name, well_pos_y, well_pos_x, tpoint, filename, index_col):
        '''Uploads feature values for the given
        :class:`MapobjectType <tmlib.models.mapobject.MapobjectType>` at the
        specified :class:`Site <tmlib.models.site.Site>`.

        Parameters
        ----------
        mapobject_type_name: str
            type of the segmented objects
        plate_name: str
            name of the plate
        well_name: str
            name of the well
        well_pos_y: int
            y-position of the site relative to the well grid
        well_pos_x: int
            x-position of the site relative to the well grid
        tpoint: int
            zero-based time point index
        filename: str
            path to the file on disk
        index_col: str
            column name containing the object labels

        See also
        --------
        :func:`tmserver.api.feature.add_feature_values`
        :class:`tmlib.models.feature.FeatureValues`
        '''
        logger.info('upload feature value file "%s"', filename)
        if not filename.lower().endswith('csv'):
            raise IOError('Filename must have "csv" extension.')
        filename = os.path.expanduser(os.path.expandvars(filename))
        data = pd.read_csv(filename, index_col=index_col)
        self._upload_feature_values(
            mapobject_type_name, plate_name, well_name, well_pos_y, well_pos_x,
            tpoint, data
        )